WSDL stub for sequence of multiple type any fails to compile, refers to 
"axis2_array_list_t"
--------------------------------------------------------------------------------------------

                 Key: AXIS2C-847
                 URL: https://issues.apache.org/jira/browse/AXIS2C-847
             Project: Axis2-C
          Issue Type: Bug
          Components: code generation
    Affects Versions: Current (Nightly)
         Environment: Windows XP, Visual Studio 2005, guththila parser, 
libcurl, nightly build of WSDL2C in Axis2 Java from 12/19/07.  
            Reporter: Bill Mitchell


Where an element contains an unbounded sequence of type any, the generated 
header file and source file for the element fails to compile, as they refer to 
a non-existent type "axis2_array_list_t".  Instead, they should use the type 
"axutil_array_list_t*".  

To illustrate, for the response message below, WSDL2C generates a class 
adb_instance_type2 to represent the elements in the sequence in the response.  
            <element name="browseResponse">
                <complexType>
                    <complexContent>
                        <restriction base="anyType">
                            <sequence>
                                <element name="instance" minOccurs="0" 
maxOccurs="unbounded">
                                    <complexType>
                                        <sequence>
                                            <any namespace="##local" 
minOccurs="1" maxOccurs="unbounded"/>
                                        </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"/>
                        </restriction>
                    </complexContent>
                </complexType>
            </element>

The generated method for adb_instance_type2_get_extraElement_at() reads:
        axis2_array_list_t AXIS2_CALL
        adb_instance_type2_get_extraElement_at(
                adb_instance_type2_t* _instance_type2,
                const axutil_env_t *env, int i);

This failure does not appear when the sequence of type any is declared with 
maxOccurs = 1, as the generated class can then return the single axiom_node_t 
directly:
        axiom_node_t* AXIS2_CALL
        adb_instance_type2_get_extraElement(
            adb_instance_type2_t* _instance_type2,
            const axutil_env_t *env);

This failure affects the declarations of adb_<type>_get_extraElement_at(), 
adb_<type>_set_extraElement_at(), adb_<type>_add_extraElement(), and the code 
in the _get_extraElement_at() routine that refers to the return value.  As well 
the comments around adb_<type>_get_extraElement(), 
adb_<type>_set_extraElement().  



-- 
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