You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-dev@axis.apache.org by "Adrian Dick (JIRA)" <ax...@ws.apache.org> on 2005/03/09 14:22:52 UTC

[jira] Resolved: (AXISCPP-515) Complex response containing array of complex elements does not deserialize

     [ http://issues.apache.org/jira/browse/AXISCPP-515?page=history ]
     
Adrian Dick resolved AXISCPP-515:
---------------------------------

    Resolution: Fixed

In addition to the fixes described in AXISCPP-521, recent memory leak fixes were removed that had been causing problems (Samisa has kindly agreed to resolve these once this test case runs successfully).
In addition, the test code need altering to correctly handle "nill"ed response objects on Windows.

Also, for some reason I needed to change #include <iostream> to become #include <iostream.h> before it would compile, but this now gives a deprecation warning on Linux.  I saw this problem on several Windows machines, and yet it doesn't seem to be a problem for any other testcase.

> Complex response containing array of complex elements does not deserialize
> --------------------------------------------------------------------------
>
>          Key: AXISCPP-515
>          URL: http://issues.apache.org/jira/browse/AXISCPP-515
>      Project: Axis-C++
>         Type: Bug
>   Components: Deserialization
>     Reporter: Andrew Perry
>     Assignee: Adrian Dick

>
> I have created a new service called Complex lists which tests arrays within complex types and elements within complext types that have a different namespace to the parent. The request is serialized correctly, but the response fails to deserialize correctly and the stub returns a NULL object to the client. Both the request and response have complex types which contain nillable elements. When the response has nil elements the deserializer throws a SIGSEGV signal.
> The 'full' or non-nilled response message is 
> -----------------------------------
> <?xml version="1.0" encoding="UTF-8"?>
> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
>  <soapenv:Body>
>   <multilistResponse xmlns="http://complexlist.test.apache.org">
>    <multilistReturn>
>     <attrlist xmlns="http://complexlistservice.test.apache.org">
>      <item>
>       <m_list>
>        <item>never odd or even</item>
>        <item>m_list string array element 2</item>
>       </m_list>
>       <name>namepair return</name>
>      </item>
>      <item>
>       <m_list>
>        <item>any data string</item>
>        <item>m_list string array element 2</item>
>       </m_list>
>       <name>namepair2 return</name>
>      </item>
>     </attrlist>
>     <errorcode xmlns="http://complexlistservice.test.apache.org">
>      7
>     </errorcode>
>     <errortext xmlns="http://complexlistservice.test.apache.org">
>      request successful
>     </errortext>
>    </multilistReturn>
>   </multilistResponse>
>  </soapenv:Body>
> </soapenv:Envelope>
> -----------------------------------
> This response message does return a value to attrlisterr with the correct errorcode and errortext data, but the nested complex type array does not deserialize correctly. The item->name element is deserialized correctly, but the m_list nested complex type does not.
> If any of the elements in the complex response are nil, which is valid as they are nillable, then the deserializer returns a NULL to the client.
> If all the elements are nil then the deserilaizer crashes.
> Nil response message
> -----------------------------------
> <?xml version="1.0" encoding="UTF-8"?>
> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
> <soapenv:Body>
>  <multilistnilResponse xmlns="http://complexlist.test.apache.org">
>   <multilistnilReturn>
>    <attrlist xsi:nil="true" xmlns="http://complexlistservice.test.apache.org"/>
>    <errorcode xmlns="http://complexlistservice.test.apache.org">
>     0
>    </errorcode>
>    <errortext xsi:nil="true" xmlns="http://complexlistservice.test.apache.org"/>
>   </multilistnilReturn>
>  </multilistnilResponse>
> </soapenv:Body>
> </soapenv:Envelope>
> -----------------------------------

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira