Generated deserialize method does not handle complex type containing sequence
of type any
-----------------------------------------------------------------------------------------
Key: AXIS2C-843
URL: https://issues.apache.org/jira/browse/AXIS2C-843
Project: Axis2-C
Issue Type: Bug
Components: code generation
Affects Versions: 1.1.0
Environment: Windows XP, Visual Studio 2005, guththila parser, libcurl
Reporter: Bill Mitchell
When WSDL2C generates a stub for the following response message description, it
constructs a stub for entity exemplar. For this entity, it defines a single
property of type axiom_node_t, the deserialize routine parses only the first of
the "any" elements, and ignores the remainder. The second issue is that it
parses the "any" entity only if its name is "extraElement", which is not very
useful as it has some name, unknown at compilation time, but which is not
likely to be "extraElement".
<element name="getExemplarResponse">
<complexType>
<complexContent>
<restriction base="anyType">
<sequence>
<element name="exemplar">
<complexType>
<sequence>
<any namespace="##local"
minOccurs="1" maxOccurs="1"/>
</sequence>
<attribute name="handle" type="string"
use="required"/>
</complexType>
</element>
</sequence>
<attribute name="responseCode" type="integer"
use="optional" default="0"/>
<attribute name="responseMessage" type="string"
use="optional"/>
<attribute name="supportedMethods"
type="fw:MethodListType" use="optional"/>
</restriction>
</complexContent>
</complexType>
</element>
My suggestion is that the comparison for the QName "extraElement" should be
removed, and the property of extraElement should be an array of axiom_node_t
representing all of the sequence of "any" entities. This impacts the
deserialize and serialize routines, and the resetter method to avoid the
potential memory leak. I've seen such code generated for a sequence of
elements of a simple type, so it should not be too hard to generate the same
code here in a complexType.
--
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]