Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
1.6.0
-
None
-
None
-
jdk-1.6.0_13, WinXP SP3, Visual Studio 2008 SP1, AXIS2/Java 1.5, AXIS2/C 1.6.0
Description
If I use the same WSDL file for JAVA and for C code generation, the ADB-Databinding produces incompatible code. Here is may example WSDL-File.
In the generated ADB-Binding from WSDL2C a XML Element with QName "NewOperationResponseTypeSequence" is expected during deserialization but is does not exist in the genereated SOAP response.
On the other hand the ADB-Binding from WSDL2JAVA parses the elements correct.
Soap response from the Server:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:dat="http://www.example.org/DatabindingTest/">
<soapenv:Header/>
<soapenv:Body>
<dat:NewOperationResponse>
<NewElement>?</NewElement>
</dat:NewOperationResponse>
</soapenv:Body>
</soapenv:Envelope>
Test WSDL-File:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://www.example.org/DatabindingTest/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="DatabindingTest" targetNamespace="http://www.example.org/DatabindingTest/">
<wsdl:types>
<xsd:schema targetNamespace="http://www.example.org/DatabindingTest/">
<xsd:element name="NewOperation" type="tns:NewOperationType">
</xsd:element>
<xsd:element name="NewOperationResponse" type="tns:NewOperationResponseType">
</xsd:element>
<xsd:complexType name="NewOperationResponseType">
<xsd:sequence minOccurs="1" maxOccurs="unbounded">
<xsd:element name="NewElement" type="xsd:string"></xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:simpleType name="NewOperationType">
<xsd:restriction base="xsd:string"></xsd:restriction>
</xsd:simpleType>
</xsd:schema>
</wsdl:types>
<wsdl:message name="NewOperationRequest">
<wsdl:part element="tns:NewOperation" name="parameters"/>
</wsdl:message>
<wsdl:message name="NewOperationResponse">
<wsdl:part element="tns:NewOperationResponse" name="parameters"/>
</wsdl:message>
<wsdl:portType name="DatabindingTest">
<wsdl:operation name="NewOperation">
<wsdl:input message="tns:NewOperationRequest"/>
<wsdl:output message="tns:NewOperationResponse"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="DatabindingTestSOAP" type="tns:DatabindingTest">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="NewOperation">
<soap:operation soapAction="http://www.example.org/DatabindingTest/NewOperation"/>
<wsdl:input>
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output>
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="DatabindingTest">
<wsdl:port binding="tns:DatabindingTestSOAP" name="DatabindingTestSOAP">
<soap:address location="http://www.example.org/"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>