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