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 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