axis-c-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Bill Mitchell (JIRA)" <>
Subject [jira] Reopened: (AXIS2C-848) Generated stub for unbounded sequence of type any does not pass any elements to client
Date Thu, 27 Dec 2007 21:49:43 GMT


Bill Mitchell reopened AXIS2C-848:

Thanks for addressing this, Dimuthu.  We are really close to this working.  When I tested
the results in the nightly build, there remains one compilation error in the fix you installed.
 In the loop in deserialize that detaches the nodes and adds them to the array, it declares
a new variable current_property_node at the point that it needs to use it.  Unfortunately,
as this is C code and not C++ code, the declaration needs to occur at the beginning of a block.

The following is the fragment of code in question:
    axiom_node_t *current_property_node = current_node;
    current_node = axiom_node_get_next_sibling(current_node, env);
    axiom_node_detach(current_property_node, env);
    axutil_array_list_add_at(arr_list, env, i, (void*)current_property_node);

In the files I am attaching, you can see the complete context.  Either current_property_node
needs to be declared at the start of this block, i.e., at the beginning of the for, or at
the beginning of the deserialize function with all the other declarations.  

> Generated stub for unbounded sequence of type any does not pass any elements to client
> --------------------------------------------------------------------------------------
>                 Key: AXIS2C-848
>                 URL:
>             Project: Axis2-C
>          Issue Type: Bug
>          Components: code generation
>    Affects Versions: Current (Nightly)
>         Environment: Windows XP, Visual Studio 2005, guththila parser, libcurl, using
WSDL2C from nightly build of 12/19/07
>            Reporter: Bill Mitchell
>            Assignee: Dimuthu Gamage
>         Attachments: adb_exemplar_type0.c, adb_exemplar_type0.orig.c, adb_exemplar_type0.single.c,
case26.tar.gz, unrolled.wsdl
> Where a complexType is defined as an unbounded sequence of type any, as in the wsdl fragment
below, the generated stub implements no code to handle the elements themselves, with the comment
that it is "imposible to handle the request type - so please do it manually".  Yet, for the
same sequence with a maxOccurs = 1, the generated stub is perfectly willing to return the
single element of type any in a property of type axiom_node_t *, by detaching the node from
the response document and making it a property of the stub object.  It would be useful and
reasonable in the case of multiple any items to return an array of axiom_node_t*, by detaching
each from the response message, as is done in the case of a single any element.  
>             <element name="getExemplarResponse">
>                 <complexType>
>                     <complexContent>
>                         <restriction base="anyType">
>                             <sequence>
>                                 <element name="exemplar" minOccurs="1" maxOccurs="1">
>                                     <complexType>
>                                         <sequence>
>                                             <any namespace="##local" minOccurs="1"
>                                         </sequence>
>                                         <attribute name="handle" type="string" use="required"/>
>                                     </complexType>
>                                 </element>
>                             </sequence>
>                             <attribute name="responseCode" type="integer" use="optional"
>                             <attribute name="responseMessage" type="string" use="optional"/>
>                             <attribute name="supportedMethods" type="fw:MethodListType"
>                         </restriction>
>                     </complexContent>
>                 </complexType>
>             </element>

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:
For additional commands, e-mail:

View raw message