[ 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

Reply via email to