axis-c-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Susantha Kumara" <susan...@opensource.lk>
Subject RE: Problems with latest CVS Code and WSDL2Ws
Date Tue, 17 Feb 2004 12:52:36 GMT
Hi Jean-Yves,

> 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();
>       };
>

This problem have been fixed now. Now you dont have to have following
typedefs.

> 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);
>

This too have been fixed. But if the Complex Type is a named type a C/C++
type is synthesized even if it is never referenced.
But this is not a problem for the moment. Just extra coding that will be
ignored by the compiler.

>
> 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 ?

We are having a look at the WS-I Basic profile 1.0 to find out how far we
support it.

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

I removed this restriction too. I am not sure about WS-I recommendations.
But the WSDLs that I have contain name="parameters" always.

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

No problem at all. We appreciate much all these enthusiasm of yours.

Thanks,


Susantha.


Mime
View raw message