axis-c-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Dimuthu Gamage (JIRA)" <>
Subject [jira] Updated: (AXIS2C-849) Generated stub for SimpleType List of String returns no contents
Date Mon, 31 Dec 2007 16:50:43 GMT


Dimuthu Gamage updated AXIS2C-849:

    Attachment: simple_type_list.tar.gz

This is fixed in the latest svn. The attachment is a simple test case.
Thanks Bill for the sample implementation. 

Please see my comments inline to the suggestions,

(1) The usual infrastructure for handling an array of somethings as an attribute of the type,
herein named _extraAttribute.
- I used the same name as the class

(2) In the deserialize_from_string, use strtok() to parse the attribute string into individuals
items, copy each such item into a new string and include it in the property array

I used manual 'for' loop incrementing the string pointer and checking delimit,(Works at least
for ASCII), because strtok is not thread-safe,

(3) In the serialize_to_string, concatenate all of the strings from the property array into
a single string with space separators. (I chose to return an empty string rather than a zero
pointer when the array is empty, to distinguish the successful but empty case from the memory
allocation failure case.)
- Done

(4) In set_extraAttribute_at, free the cell containing the old string, if any, before taking
ownership of the new string
(5) In reset_extraAttribute and set_extraAttribute_nil, free the cells containing any owned
strings before freeing the property array 

> Generated stub for SimpleType List of String returns no contents
> ----------------------------------------------------------------
>                 Key: AXIS2C-849
>                 URL:
>             Project: Axis2-C
>          Issue Type: Improvement
>          Components: code generation
>    Affects Versions: Current (Nightly)
>         Environment: Windows XP, Visual Studio 2005, guththila parser, libcurl, WSDL2C
from nightly build of 12/19/07
>            Reporter: Bill Mitchell
>         Attachments: adb_MethodListType.c, adb_MethodListType.h, adb_MethodListType.orig.c,
simple_type_list.tar.gz, unrolled.wsdl
> The WSDL fragment below illustrates a SimpleType declared as a list of strings that is
returned as an attribute in a response message.  In the generated stubs, the deserialize routine
in adb_getExemplarResponse.c nicely expects the MethodListType to deserialize the attribute
string into an object and stores the returned MethodListType object as a property of the response.
 Yet the generated adb_MethodListType.c doesn't have any properties and has essentially empty
routines for the deserialize_from_string and serialize_to_string procedures.  
>             <simpleType name="MethodListType">
>                 <list itemType="string"/>
>             </simpleType>
> ...
>             <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