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]

Reply via email to