wsdl2java wsdl creation for interop. with .net 
-----------------------------------------------

                 Key: AXIS2-2175
                 URL: https://issues.apache.org/jira/browse/AXIS2-2175
             Project: Axis 2.0 (Axis2)
          Issue Type: Bug
          Components: wsdl
    Affects Versions: 1.1.1
         Environment: Windows XP  5.1 on system architecture: x86 - Tomcat 
5.5.9 - Jre 1.5.0 - Axis2 1.1.1 - .net 2005
            Reporter: Asrael


We are trying to operate with a .net client.  The problem is in the wsdl 
recreated by the wsdl2java operation.

Here i paste the original wsdl:

<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"; 
xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/"; 
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"; 
xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"; 
xmlns:tns="http://soapServlet.it/RInterface"; 
xmlns:s="http://www.w3.org/2001/XMLSchema"; 
xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"; 
targetNamespace="http://soapServlet.it/RInterface"; 
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";>
  <wsdl:types>
    <s:schema elementFormDefault="qualified" 
targetNamespace="http://soapServlet.it/RInterface";>
        <s:element name="getBuilding">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="projectID" 
type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="userID" 
type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="getBuildingResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="getBuildingResult" 
type="tns:ArrayOfBuild" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="ArrayOfBuild">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="Build" 
nillable="true" type="tns:Build" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="Build">
        <s:all>
          <s:element minOccurs="0" maxOccurs="1" name="ID" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="Val" type="s:string" />
        </s:all>
      </s:complexType>
      </s:schema>
     </wsdl:types>

          <wsdl:message name="getBuildingSoapIn">
            <wsdl:part element="tns:getBuilding" name="parameters"  />
          </wsdl:message>
          <wsdl:message name="getBuildingSoapOut">
            <wsdl:part element="tns:getBuildingResponse" name="parameters"  />
          </wsdl:message>

        <wsdl:portType name="TerSoapEngine">
                <wsdl:operation name="getBuilding">
                      <wsdl:input message="tns:getBuildingSoapIn" />
                      <wsdl:output message="tns:getBuildingSoapOut" />
                 </wsdl:operation>
        </wsdl:portType>

         <wsdl:binding name="TerSoapEngine" type="tns:TerSoapEngine">
                <soap:binding transport="http://schemas.xmlsoap.org/soap/http"; 
/>

                <wsdl:operation name="getBuilding">
              <soap:operation 
soapAction="http://soapServlet.it/RInterface/getBuilding"; style="document" />
              <wsdl:input>
                <soap:body use="literal" />
              </wsdl:input>
              <wsdl:output>
                <soap:body use="literal" />
              </wsdl:output>
            </wsdl:operation>
                
                </wsdl:binding>

          <wsdl:service name="TerSoapEngine">
            <wsdl:port name="TerSoapEngine" binding="tns:TerSoapEngine">
              <soap:address location="http://10.1.1.12/TerSoapEngine"; />
            </wsdl:port>
        </wsdl:service>

</wsdl:definitions>

and the wsdl create by wsdl2java

<wsdl:definitions xmlns:tns="http://soapServlet.it/RInterface"; 
xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"; 
xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"; 
xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"; 
xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/"; 
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"; 
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"; 
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"; 
xmlns:s="http://www.w3.org/2001/XMLSchema"; 
targetNamespace="http://soapServlet.it/RInterface";><wsdl:types><s:schema 
attributeFormDefault="unqualified" elementFormDefault="qualified" 
targetNamespace="http://soapServlet.it/RInterface";>
<s:element name="getBuilding">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" name="projectID" type="s:string" />
<s:element minOccurs="0" name="userID" type="s:string" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="getBuildingResponse">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" name="getBuildingResult" type="tns:ArrayOfBuild" />
</s:sequence>
</s:complexType>
</s:element>
<s:complexType name="ArrayOfBuild">
<s:sequence>
<s:element maxOccurs="unbounded" minOccurs="0" name="Build" nillable="true" 
type="tns:Build" />
</s:sequence>
</s:complexType>
<s:complexType name="Build">
<s:all>
<s:element minOccurs="0" name="ID" type="s:string" />
<s:element minOccurs="0" name="Val" type="s:string" />
</s:all>
</s:complexType>
</s:schema></wsdl:types><wsdl:message name="getBuildingSoapIn"><wsdl:part 
name="part1" element="tns:getBuilding" /></wsdl:message><wsdl:message 
name="getBuildingSoapOut"><wsdl:part name="part1" 
element="tns:getBuildingResponse" /></wsdl:message><wsdl:portType 
name="TerSoapEnginePortType"><wsdl:operation name="getBuilding"><wsdl:input 
xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl"; 
message="tns:getBuildingSoapIn" 
wsaw:Action="http://soapServlet.it/RInterface/getBuilding"; /><wsdl:output 
xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl"; 
message="tns:getBuildingSoapOut" 
wsaw:Action="http://soapServlet.it/RInterface/TerSoapEngine/getBuildingResponse";
 /></wsdl:operation></wsdl:portType><wsdl:binding 
name="TerSoapEngineSOAP11Binding" 
type="tns:TerSoapEnginePortType"><soap:binding 
transport="http://schemas.xmlsoap.org/soap/http"; style="document" 
/><wsdl:operation name="getBuilding"><soap:operation 
soapAction="http://soapServlet.it/RInterface/getBuilding"; style="document" 
/><wsdl:input><soap:body use="literal" /></wsdl:input><wsdl:output><soap:body 
use="literal" /></wsdl:output></wsdl:operation></wsdl:binding><wsdl:binding 
name="TerSoapEngineSOAP12Binding" 
type="tns:TerSoapEnginePortType"><soap12:binding 
transport="http://schemas.xmlsoap.org/soap/http"; style="document" 
/><wsdl:operation name="getBuilding"><soap12:operation 
soapAction="http://soapServlet.it/RInterface/getBuilding"; style="document" 
/><wsdl:input><soap12:body use="literal" 
/></wsdl:input><wsdl:output><soap12:body use="literal" 
/></wsdl:output></wsdl:operation></wsdl:binding><wsdl:service 
name="TerSoapEngine"><wsdl:port name="TerSoapEngineSOAP11port_http" 
binding="tns:TerSoapEngineSOAP11Binding"><soap:address 
location="http://10.1.1.12/TerSoapEngine"; /></wsdl:port><wsdl:port 
name="TerSoapEngineSOAP12port_http" 
binding="tns:TerSoapEngineSOAP12Binding"><soap12:address 
location="http://10.1.1.12/TerSoapEngine"; 
/></wsdl:port></wsdl:service></wsdl:definitions>

the problem is in the message part:
is trasformed from

                       <wsdl:message name="getBuildingSoapIn">
            <wsdl:part element="tns:getBuilding" name="parameters"  />
          </wsdl:message>

to:
<wsdl:message name="getBuildingSoapIn"><wsdl:part name="part1" 
element="tns:getBuilding" />

When we try to create the stub under .net, with " name="parameters" ", the stub 
is created correctly, handling the 2 parameters unwrapped, while with 
"name="part1" " the stub is created with a wrapped element that call the 
service sendings the parameter inverted [the first shall be the last of the 
sequence and so on] creating and error [in fact the sequence is not respected].
Why the part name is created not respecting the wsdl that feed that procedure?





-- 
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]

Reply via email to