wsdl2java generates incorrect code when output message with two parts is used
-----------------------------------------------------------------------------
Key: AXIS2-3934
URL: https://issues.apache.org/jira/browse/AXIS2-3934
Project: Axis 2.0 (Axis2)
Issue Type: Bug
Affects Versions: 1.4
Environment: WinXP, Ant Script
Reporter: alexander elbert
wsdl2java generates an incorrect function signature if the wsdl operation's
output method has two parts.
Expected result -- the function signature should contain the return value
Current result -- the function is generated with the void return type
Schema file used:
<?xml version="1.0" encoding="UTF-8"?>
<schema
targetNamespace="http://sso.nsc.nationwide.com"
xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:tns="http://sso.nsc.nationwide.com">
<complexType name="AttributeData">
<sequence>
<element name="name" nillable="true" type="string"/>
<element name="type" nillable="true" type="string"/>
<element name="value" nillable="true" minOccurs="0" maxOccurs="unbounded"
type="string"/>
</sequence>
</complexType>
<complexType name="ApplicationToken">
<sequence>
<element name="applicationID" nillable="true" type="string"/>
<element name="password" nillable="true" type="string"/>
</sequence>
</complexType>
<complexType name="ResultData">
<sequence>
<element name="description" nillable="true" type="string"/>
<element name="errorCode" nillable="true" type="string"/>
<element name="errorDetails" nillable="true" type="string"/>
<element name="errorType" nillable="true" type="string"/>
<element name="result" type="boolean"/>
</sequence>
</complexType>
<complexType name="InterrogationData">
<sequence>
<element name="answer" nillable="true" type="string"/>
<element name="encryptedAnswer" nillable="true" type="string"/>
<element name="question" nillable="true" type="string"/>
</sequence>
</complexType>
<complexType name="UserData">
<sequence>
<element name="attributes" nillable="true" minOccurs="0"
maxOccurs="unbounded" type="tns:AttributeData" />
<element name="email" nillable="true" type="string"/>
<element name="endDate" nillable="true" type="dateTime"/>
<element name="firstName" nillable="true" type="string"/>
<element name="lastName" nillable="true" type="string"/>
<element name="startDate" nillable="true" type="dateTime"/>
<element name="substituteCredentials" nillable="true" minOccurs="0"
maxOccurs="unbounded" type="tns:InterrogationData"/>
<element name="userID" nillable="true" type="string"/>
</sequence>
</complexType>
</schema>
WSDL used:
begin
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions
targetNamespace="http://sso.nsc.nationwide.com"
xmlns:tns="http://sso.nsc.nationwide.com"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<wsdl:types>
<xsd:schema targetNamespace="http://sso.nsc.nationwide.com">
<xsd:import namespace="http://sso.nsc.nationwide.com"
schemaLocation="types.xsd" />
</xsd:schema>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:import namespace="http://sso.nsc.nationwide.com"
schemaLocation="types.xsd" />
</xsd:schema>
</wsdl:types>
<wsdl:message name="setAttributeRequest">
<wsdl:part name="userID" type="xsd:string"/>
<wsdl:part name="attribute" type="tns:AttributeData"/>
</wsdl:message>
<wsdl:message name="setAttributeResponse">
<wsdl:part name="resultData" type="tns:ResultData"/>
<wsdl:part name="attribute" type="tns:AttributeData"/>
</wsdl:message>
<wsdl:portType name="AdminWS">
<wsdl:operation name="setAttribute" parameterOrder="userID attribute">
<wsdl:input message="tns:setAttributeRequest"
name="setAttributeRequest"/>
<wsdl:output message="tns:setAttributeResponse"
name="setAttributeResponse"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="AdminWSSOAP" type="tns:AdminWS">
<soap:binding style="rpc"
transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="setAttribute">
<soap:operation soapAction=""/>
<wsdl:input name="setAttributeRequest">
<soap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="http://sso.nsc.nationwide.com" use="literal"/>
</wsdl:input>
<wsdl:output name="setAttributeResponse">
<soap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="http://sso.nsc.nationwide.com" use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="AdminWS">
<wsdl:port binding="tns:AdminWSSOAP" name="AdminWS">
<soap:address
location="http://localhost:8080/wsdomain/services/AdminWS"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
end
generated function is:
public void setAttribute(java.lang.String
userID,com.nationwide.nsc.sso.AttributeData attribute)
ant invocation:
<java classname="org.apache.axis2.wsdl.WSDL2Java" classpathref="classpath">
<arg value="-ss"/> <!-- Generate server side -->
<arg value="-g"/> <!-- Generate all classes-->
<arg value="-sd"/> <!-- Generate service descriptor -->
<arg value="-uw" /> <!-- Unwrap -->
<arg value="--noWSDL" />
<arg value="--noBuildXML" />
<arg value="-ssi" /> <!-- Generate the interface -->
<arg value="-S" /> <!-- Generated src dir -->
<arg value="${gen.dir}" />
<arg value="-R" /> <!-- Generated resources dir -->
<arg value="${resources.dir}" />
<arg value="-sin" />
<arg value="AdminWS" />
<arg value="-scn" />
<arg value="AdminWSImpl" />
<arg value="-uri" />
<arg file="${dir.wsdl}/${wsdl.file}" />
</java>
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]