axis-c-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Wayne Johnson (JIRA)" <>
Subject [jira] Commented: (AXISCPP-1015) Error deserializing empty array within a structure
Date Wed, 21 Feb 2007 18:02:06 GMT


Wayne Johnson commented on AXISCPP-1015:

Well, tried my patch and it didn't help.

The wsdl I'm using has the structure:
   <complexType name="SWSUser">
     <element name="DN" nillable="true" type="xsd:string"/>
     <element name="description" nillable="true" type="xsd:string"/>
     <element name="groups" nillable="true" type="impl:ArrayOf_xsd_string"/>
     <element name="name" nillable="true" type="xsd:string"/>
     <element name="properties" nillable="true" type="impl:ArrayOfSWSProperty"/>
     <element name="uid" type="xsd:int"/>

As I step through the code, properties is an array of length 0.  We go into SoapDeSerializer::getCmplxArray,
see the array length of zero, return to my SWSUser DeSerializer, where it then attempt to
parse uid.  But getElementAsInt() errors out because it sees m_pNode->m_pchNameOrValue
is still "properties".

Any ideas, short of making sure I don't have any 0 length arrays?

The soap packet looks like this:

<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="" xmlns:xsd=""
    <ns1:getUserProfileResponse soapenv:encodingStyle=""
      <getUserProfileReturn xsi:type="ns1:SWSUser">
        <DN xsi:type="xsd:string">uid=SA,ou=users,dc=mqsoftware,dc=com</DN>
        <description xsi:type="xsd:string">Default System Administrator User Id</description>
        <groups soapenc:arrayType="xsd:string[2]" xsi:type="soapenc:Array" xmlns:soapenc="">
          <groups xsi:type="xsd:string">Management Console Administrators</groups>
          <groups xsi:type="xsd:string">database_login</groups>
        <name xsi:type="xsd:string">System Administrator</name>
        <properties xsi:type="ns1:SWSProperty" xsi:nil="true"/>
        <uid xsi:type="xsd:int">5</uid>

> Error deserializing empty array within a structure
> --------------------------------------------------
>                 Key: AXISCPP-1015
>                 URL:
>             Project: Axis-C++
>          Issue Type: Bug
>          Components: Serialization
>    Affects Versions:  1.6 Beta
>         Environment: Sending response from Java AXIS Server
>            Reporter: Wayne Johnson
>             Fix For: current (nightly)
>         Attachments: SOAP-1015.xml, SoapDeSerializer.patch, SWS.wsdl
> I am returning a structure that contains an array of structures.  If I return that array
with no elements, the SoapDeSerializer::getArraySize method returns a -1. 
> Then SoapDeSerializer::getCmplxArray falls into the error path, and returns AXIS_FAIL.
 My stub deserializer for the outside structure sees the FAIL status and returns the FAIL
to SoapDeSerializer::getCmplxObject and everything percolates back to my client where a NULL
is returned to the client instead of my structure.
> The same SOAP response seems to work fine on the Axis Java client. 
> I'm working on the svn trunk.  
> Thanks.

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message