[
https://issues.apache.org/jira/browse/AXISCPP-1015?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Wayne Johnson reopened AXISCPP-1015:
------------------------------------
Well, the good news is that it fixed the problem. The bad news is if you have
another node in the stream after the node with a 0 length array, we skip
calling skipNode(), which causes the next element to die because it's still
attempting to read the array.
I believe in SoapDeSerializer::getCmplxArray, the line
else if (arraySize > 0)
skipNode();
should be
else if (arraySize >= 0)
skipNode();
I discovered this when I added additional fields in my java bean.
Let me know if you need any more details. I'll try testing my patch.
> Error deserializing empty array within a structure
> --------------------------------------------------
>
> Key: AXISCPP-1015
> URL: https://issues.apache.org/jira/browse/AXISCPP-1015
> 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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]