Hi,

Looking at the CombinedChoice testcase, I would say the test client code is
correct.

However, WSDL2Ws is generating pointer-to-pointer for xsd:choice, where I
believe it should simply be pointer-to-value.


Regards,
Adrian
_______________________________________
Adrian Dick ([EMAIL PROTECTED])


"Dushshantha Chandradasa" <[EMAIL PROTECTED]> wrote on 19/12/2005
09:48:55:

> Hi Nadir,
>
> I too noticed this in Windows platform. I tried to fix it from the
> client code by doing following changes. Then the client is compiling and
> able to run. But the serialization and deserialization is wrong.
>
> Changes in the client file:
>
>       int * * a;
>       int* aa = new int;
>       *aa = 5;
>       a = &aa;
>       Value0->IntValue = a;
>
> The client request and server response lokk like the following.
>
> Request:
>
> POST /axis/CombinedChoice HTTP/1.1
> Host: localhost:8080
> Content-Type: text/xml; charset=UTF-8
> SOAPAction: "SimpleChoiceTest#echoChoice"
> Content-Length: 579
>
> <?xml version='1.0' encoding='utf-8' ?>
> <SOAP-ENV:Envelope
> xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/";
> xmlns:xsd="http://www.w3.org/2001/XMLSchema";
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
> <SOAP-ENV:Body>
> <ns1:echoChoice xmlns:ns1="http://soapinterop.org/";>
> <ns1:inputChoice
> xmlns:ns2="http://soapinterop.org/xsd";><ns2:NonChoiceIntValue>5</ns2:Non
> ChoiceIntValue>
> <ns2:IntValue>3353928</ns2:IntValue>  <============= wrong serialization
> <ns2:NonChoiceStringValue>NonChoiceStringValue</ns2:NonChoiceStringValue
> >
> </ns1:inputChoice>
> </ns1:echoChoice>
> </SOAP-ENV:Body>
> </SOAP-ENV:Envelope>
>
> Response:
>
> HTTP/1.1 200 OK
> Date: Mon, 19 Dec 2005 09:38:35 GMT
> Server: Apache/2.0.54 (Win32)
> Content-Length: 579
> Content-Type: text/xml
>
> <?xml version='1.0' encoding='utf-8' ?>
> <SOAP-ENV:Envelope
> xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/";
> xmlns:xsd="http://www.w3.org/2001/XMLSchema";
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
> <SOAP-ENV:Body>
> <ns1:echoChoiceResponse xmlns:ns1="http://soapinterop.org/";>
> <_return
> xmlns:ns2="http://soapinterop.org/xsd";><ns2:NonChoiceIntValue>5</ns2:Non
> ChoiceIntValue>
> <ns2:IntValue>9176872</ns2:IntValue>
> <ns2:NonChoiceStringValue>NonChoiceStringValue</ns2:NonChoiceStringValue
> >
> </_return>
> </ns1:echoChoiceResponse>
> </SOAP-ENV:Body>
> </SOAP-ENV:Envelope>
>
>
> Thanks
> Dushshantha
>
> -----Original Message-----
> From: Nadir Amra [mailto:[EMAIL PROTECTED]
> Sent: Monday, December 19, 2005 7:30 AM
> To: Apache AXIS C Developers List
> Subject: compile failure of test CombinedChoice.xml
>
> Kicking the tires on the new memory management fixes.
>
> While attempting to run test
> c/tests/auto_build/testcases/tests/CombinedChoice.xml, I get a compile
> error when compiling CombinedChoiceClient.cpp.  Here are the errors:
>
>         [cc]
> "/home/amra/axis/L051218/obj/test/generated/cpp/UnitTest_CombinedChoice/
> CombinedChoiceClient.cpp",
> line 15.36: CZP021
>  6(30) An expression of type "int *" cannot be converted to type "int
> **".
>
>         [cc]
> "/home/amra/axis/L051218/obj/test/generated/cpp/UnitTest_CombinedChoice/
> CombinedChoiceClient.cpp",
> line 16.39: CZP02
>  16(30) An expression of type "int" cannot be converted to type "int *".
>
>
>
> The offending lines in the code are the two lines after the
> instantiation
> of the object:
>                 ChoiceComplexType* Value0=new ChoiceComplexType();
>
>                 Value0->IntValue = new int;
>                 *(Value0->IntValue) = 5;
>
> The header file defines the field as:
>
>         xsd__int* * IntValue;
>
> So my question is what is it suppose to be and how is it working on
> other
> platforms?
>
> Nadir K. Amra
>

Reply via email to