axis-c-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jean-Yves Baudy <>
Subject Problems with latest CVS Code and WSDL2Ws
Date Fri, 13 Feb 2004 10:24:03 GMT
Hi Susantha,

Many thanks for you quick patch integration. I upgraded to the last CVS 
code and it is going better and better. Here my result, some others 
issues I found and some questions (all are about the doc/lit style).

Malling List question
I subscribe to the axis-c-dev but I never received any mail from 
axis-c-dev. I need to go to the site to 
see if I have answer to my mail. And if I want to reply I need to cut 
and paste in my mail mailer. Is there an option to have the mail arrived 
in my mailbox ?

Results after updated to last CVS code
1 - All the exceptions traces deseappeard when generating.

2 - The extra *[unbounded].h are corrected.

3 - The element name are not renamed for reserved C++ 	
     keyword (corrected).

4 - The code still not compiling for this kind of schema fragment :

This complexType :

     <xsd:complexType name="intArrayType">
             <xsd:element maxOccurs="unbounded" name="Item" 				 

Produces the following C++ code :

     class shortArrayType
	short_Array Item; // should be xsd__short_Array Item ?

So I still having to add the folowing typedef in AxisUserAPI.h

  /* JBY some simple types typedef
   (avoid compilation pbs of generated cpp
   client code) */

  typedef xsd__double_Array double_Array;
  typedef xsd__float_Array float_Array;
  typedef xsd__boolean_Array boolean_Array;
  typedef xsd__string_Array string_Array;
  typedef xsd__int_Array int_Array;
  typedef xsd__short_Array short_Array;
  typedef xsd__long_Array long_Array;

Other issue found since last mail
SOAP request is incorrect for this kind of message :

     <xsd:complexType name="SessionTokenType">
             <xsd:element maxOccurs="1" minOccurs="1" name="SessionId"
     <xsd:element name="SessionToken" type="tns:SessionTokenType"/>

     <message name="sessionLogoutInput">
       <part name="parameters" element="ns2:SessionToken"/>

Axis C/C++ build this SOAP request :

     <ns1:SessionToken xmlns:ns1="http://xxx">

The correct syntax is (verified with Axis Java 1.1 client)

     <ns1:SessionToken xmlns:ns1="http://xxx">

So the portType generated code must be (for this kind of wsdl):
	/* WRONG : m_pCall->AddCmplxParameter(Value0,
		(void*)Axis_Delete_SessionTokenType, "SessionToken",
		(void*)&Value0->SessionId, "SessionId", XSD_STRING);

Questions about C/C++ stack
When the next released is planned ?

Can you tell me which standard will be really supported ?
   - WSDL 1.1 ?
   - SOAP 1.1 ?
   - WS-I 1.0 ?

Why the part name of a message must be named "parameters" in doc/lit 
style ? WS-I recommendation ?

Thank for your reply and sory to be so active but I have a big interest 
on Axis C/C++ stack.



 >Hi Jean-Yves,
 >I corrected the issues you found in the generated code. Please re-run >the
 >wsdl and check whether the code generated correctly. Thanks a lot for
 >investigation through the code. your work (diff) was a big help for me.
 >we appreciate your contribution.
 >> I will try (depending odf my time) to send you a WSDL sample.
 >> Jean-Yves

View raw message