[ http://issues.apache.org/jira/browse/AXISCPP-515?page=all ] Adrian Dick closed AXISCPP-515: -------------------------------
> 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: Client - 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 - For more information on JIRA, see: http://www.atlassian.com/software/jira