axis-c-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Lukens, Bruce" <bruce.luk...@lmco.com>
Subject Interoperability problem with Axis C++ client
Date Thu, 25 Mar 2004 18:15:26 GMT
I am not sure if I am addressing this issue to the right newsgroup, but I hope someone might
be able to help me.

I have an Axis generated C++ static binding client that fails to deserialize SOAP messages
containing Complex types. Created a Java Web Service that returns a Java Bean that consists
of three strings. 
The following is the Axis Generated WSDL complex type:
<complexType name="Sv04BalancingResults">
<sequence>
<element name="cedarpError" nillable="true" type="xsd:string"/>
<element name="numberValidationErrors" nillable="true" type="xsd:string"/>
<element name="resultsDir" nillable="true" type="xsd:string"/>
</sequence>
</complexType>

Successfully accessed Web Service utilizing a Java static binding client, but C++ client fails
in the Axis C++ Wrapper Class Generator
that handles the parameters and wrapper methods to manipulate the results.
In the Axis_DeSerialize_Sv04BalancingResults(Sv04BalancingResults* param, IWrapperSoapDeSerializer
*pIWSDZ) method
the following returns null: "param->cedarpError = pIWSDZ->GetString(); " , which causes
the client to fail.
It appears from debugging that the type is being set "USER_TYPE" instead of "XSD_STRING".
Verified SOAP request and response message via tcpmon and everything appears to be correct.
The following SOAP body contains the message that the C++ client fails to deserialize:
<soapenv:Body>
<ns1:getSv04BalancingErrorsResponse soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:ns1="urn:Sv04Balancing">
<getSv04BalancingErrorsReturn href="#id0"/>
</ns1:getSv04BalancingErrorsResponse>
<multiRef id="id0" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
xsi:type="ns2:Sv04BalancingResults" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:ns2="http://WsSv04Balancing.CedarpApi">
<cedarpError xsi:type="xsd:string" xsi:nil="true"/>
<numberValidationErrors xsi:type="xsd:string">4</numberValidationErrors>
<resultsDir xsi:type="xsd:string">test.xml</resultsDir>
</multiRef>
</soapenv:Body>

The following contains a portion of the Axis generated WSDD deploy file :
<typeMapping
xmlns:ns="http://WsSv04Balancing.CedarpApi"
qname="ns:Sv04BalancingResults"
type="java:CedarpApi.WsSv04Balancing.Sv04BalancingResults"
serializer="org.apache.axis.encoding.ser.BeanSerializerFactory"
deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
Utilizing axis-1_1 for Web Service deployment in the jakarta-tomcat-4.1.29 container with
j2sdk1.4.2. Static binding client created using axis-c-1-0-win32 and WSDL specifies RPC/encoded
SOAP binding. 
I have no prior web services experience, so any help would be greatly appreciated. Please
let me know if you need any additional information. 
Does anyone know if this issue is resolved in the 1.1 critical bug fixes?

-Thanks


Mime
View raw message