Hello, everybody

I have the following problem and would greatly appreciate if anybody has any
suggestions!

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> 


-- 
View this message in context: 
http://www.nabble.com/axis2-generates-invalid-code-when-response-contains-more-than-one-part-tp18622927p18622927.html
Sent from the Axis - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to