You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-dev@axis.apache.org by "Bill Mitchell (JIRA)" <ji...@apache.org> on 2007/12/19 19:30:43 UTC

[jira] Created: (AXIS2C-847) WSDL stub for sequence of multiple type any fails to compile, refers to "axis2_array_list_t"

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: axis-c-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-c-dev-help@ws.apache.org


[jira] Commented: (AXIS2C-847) WSDL stub for sequence of multiple type any fails to compile, refers to "axis2_array_list_t"

Posted by "Bill Mitchell (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/AXIS2C-847?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12554619 ] 

Bill Mitchell commented on AXIS2C-847:
--------------------------------------

Thanks, Dimuthu.  I have verified this by rebuilding stubs with the latest nightly build.  

> 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
>         Attachments: adb_instance_type2.c, adb_instance_type2.h, unrolled.wsdl
>
>
> 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: axis-c-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-c-dev-help@ws.apache.org


[jira] Updated: (AXIS2C-847) WSDL stub for sequence of multiple type any fails to compile, refers to "axis2_array_list_t"

Posted by "Bill Mitchell (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/AXIS2C-847?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Bill Mitchell updated AXIS2C-847:
---------------------------------

    Attachment: adb_instance_type2.c
                adb_instance_type2.h
                unrolled.wsdl

The attached .wsdl can be used to illustrate the problem, as seen in the attached instance_type2 header and c files.  The command line I used to generate the stubs was:
java org.apache.axis2.wsdl.WSDL2C -l c -or -d adb -wv 1.1 -s -S unrolled -u -uri unrolled.wsdl

After changing every instance of "axis2_array_list_t" to "axutil_array_list_t*", the generated stubs compiled successfully.  

> 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
>         Attachments: adb_instance_type2.c, adb_instance_type2.h, unrolled.wsdl
>
>
> 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: axis-c-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-c-dev-help@ws.apache.org


[jira] Resolved: (AXIS2C-847) WSDL stub for sequence of multiple type any fails to compile, refers to "axis2_array_list_t"

Posted by "Dimuthu Gamage (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/AXIS2C-847?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Dimuthu Gamage resolved AXIS2C-847.
-----------------------------------

    Resolution: Fixed

Fixed ,Thanks for the suggestion for fix

> 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
>         Attachments: adb_instance_type2.c, adb_instance_type2.h, unrolled.wsdl
>
>
> 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: axis-c-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-c-dev-help@ws.apache.org