[ http://issues.apache.org/jira/browse/AXISCPP-511?page=history ]
Fred Preston resolved AXISCPP-511:
----------------------------------
Resolution: Fixed
Hi Tim,
The deserialiser now decodes the response message correctly:
Code
----
#include "Service2.hpp"
#include "Response.hpp"
#include <iostream>
#include "Attribute.hpp"
#include "Attribute_Array.hpp"
int main()
{
Service2 * pService2 = new Service2(
"http://localhost:9090/ArrayOfArrays2/services/Service2");
Response * pResponse = pService2->execute();
cout << "result = " << pResponse->result << endl << endl;
AttributeList_Array sArray = pResponse->outAttrs;
for( int iB = 0; iB < sArray.m_Size; iB++)
{
AttributeList * pAttributes = sArray.m_Array[iB];
for( int iA = 0; iA < pAttributes->attributes.m_Size; iA++)
{
Attribute * pAttribute =
pAttributes->attributes.m_Array[iA];
xsd__string_Array sValues = pAttribute->values;
cout << "Name: " << (char *) pAttribute->name << endl;
for( int iV = 0; iV < sValues.m_Size; iV++)
{
cout << "\tValue" << iV << ": " <<
sValues.m_Array[iV] << endl;
}
cout << endl;
}
}
delete pResponse;
delete pService2;
return 0;
}
Output
------
result = 1
Name: l1_a1
Value0: 1
Value1: 2
Value2: 3
Name: l1_a2
Value0: a
Value1: b
Name: l2_a1
Value0: 1
Name: l2_a2
Value0: a
Name: l2_a3
Value0: Z
> Deserialization of complex nested arrays broken
> -----------------------------------------------
>
> Key: AXISCPP-511
> URL: http://issues.apache.org/jira/browse/AXISCPP-511
> Project: Axis-C++
> Type: Bug
> Components: Deserialization
> Versions: current (nightly)
> Environment: cvs, Mar 7, 2005
> Reporter: Tim Bartley
> Assignee: Fred Preston
> Attachments: Service2.wsdl, axis.trace
>
> Deserialization of nested complex arrays seems very broken.
> With the attached wsdl and SOAP transaction I see the Response structure
> filled in as follows:
> result: 1
> outAttrs.m_Array: 0x8080928
> outAttrs.m_Size: 2
> outAttrs.m_Array[0]: 0x8080968
> outAttrs.m_Array[1]: 0x8080a80
> outAttrs.m_Array[0]:
> attributes.m_Array: 0x80808a8
> attributes.m_Size: 2
> attributes.m_Array[0]: 0x1
> attributes.m_Array[1]: (nil)
> attributes.m_Array: 0x8080998
> outAttrs.m_Array[1]:
> attributes.m_Size: 3
> attributes.m_Array[0]: 0x1
> attributes.m_Array[1]: 0x80809b8
> attributes.m_Array[2]: 0x80809c8
> As you can see the outer array looks OK but the inner arrays are garbage. The
> values of outAttrs.m_Array[x]->attributes.m_Array[y] should be valid
> pointers to Attributes but theri values are clearly not valid pointers.
> Regards,
> Tim
--
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