axis-c-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jean-Yves Baudy <jy.ba...@free.fr>
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 http://marc.theaimsgroup.com/ 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:sequence>
             <xsd:element maxOccurs="unbounded" name="Item" 				 
type="xsd:int"/>
         </xsd:sequence>
     </xsd:complexType>


Produces the following C++ code :

     class shortArrayType
      {
       public:
	short_Array Item; // should be xsd__short_Array Item ?
	shortArrayType();
	~shortArrayType();
      };

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:sequence>
             <xsd:element maxOccurs="1" minOccurs="1" name="SessionId"
                   type="xsd:string"/>
         </xsd:sequence>
     </xsd:complexType>
     <xsd:element name="SessionToken" type="tns:SessionTokenType"/>
     ...

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

Axis C/C++ build this SOAP request :

     ...
     <ns1:SessionToken xmlns:ns1="http://xxx">
       <SessionToken>
         <SessionId>100</SessionId>
       </SessionToken>
     </ns1:SessionToken>
     ...

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

     ...
     <ns1:SessionToken xmlns:ns1="http://xxx">
         <SessionId>100</SessionId>
     </ns1:SessionToken>
     ...

So the portType generated code must be (for this kind of wsdl):
	m_pCall->SetOperation("SessionToken","http://xxx");
	/* WRONG : m_pCall->AddCmplxParameter(Value0,
		(void*)Axis_Serialize_SessionTokenType,
		(void*)Axis_Delete_SessionTokenType, "SessionToken",
		Axis_URI_SessionTokenType);*/
	m_pCall->
		AddParameter(
		(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.

Regards,

Jean-Yves


 >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.
 >
 >Thanks,
 >
 >Susantha.
 >
 >> I will try (depending odf my time) to send you a WSDL sample.
 >>
 >> Jean-Yves

Mime
View raw message