axis-c-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Fred Preston (JIRA)" <axis-c-...@ws.apache.org>
Subject [jira] Resolved: (AXISCPP-511) Deserialization of complex nested arrays broken
Date Mon, 21 Mar 2005 18:30:50 GMT
     [ 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


Mime
View raw message