You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-dev@axis.apache.org by Jean-Yves Baudy <jy...@free.fr> on 2004/02/11 23:20:52 UTC
Problems with latest CVS Code and WSDL2Ws
Hi guys,
I update my Axis code to the last CVS version and I still having no
success on compiling the generated client code for document literal WSDL
file :-(.
A lot of progress but still minor issues (at least for document
literal). So after a quick look on the WSDL2Ws java code I made some
changes. I finally have success on generated the C++ client code for a
more complex document literal WSDL file than echoString, echoStruct.
Included the changes I made in a diff format (sorry i'm not able to made
a patch as open source community done generally). Some of the changes
are certainly at the wrong place but avoid compilation problems. I also
made changes in the code to correct some issues for the document literal
mode works.
I also made a changes in the Axis C/C++ code in the AxisUserAPI.h file.
For array types the generated code need the following declaration to
compile.
/* 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;
If needed a little WSDL file to show the trouble can be produced.
When testing I also found a big issue on the Axis C/C++ WS stack. When a
XML element use a C/C++ reserved word this element is prefixed by "_".
For me only the related C/C++ variable must be renamed but not the C/C++
literal value of the element. If we target a Web Services Server where
the stack is not developed by Axis team the server will not renamed the
C/C++ revered word. Example:
SOAP fragment returned by Web Service server:
<Status xmlns="...">
<return xmlns="">
<Status>OK</Status>
</return>
</Status>
Axis C/C++ stack failed to parse the result because it expect:
<Status xmlns="...">
<_return xmlns="">
<Status>OK</Status>
</_return>
</Status>
Regards,
Jean-Yves
Re: Problems with latest CVS Code and WSDL2Ws
Posted by su...@opensource.lk.
I am looking at the issues you have mentioned. Is it possible you to send
me the WSDL you used for this ?
Thanks,
Susantha.
> Hi guys,
>
> I update my Axis code to the last CVS version and I still having no
> success on compiling the generated client code for document literal WSDL
> file :-(.
>
> A lot of progress but still minor issues (at least for document
> literal). So after a quick look on the WSDL2Ws java code I made some
> changes. I finally have success on generated the C++ client code for a
> more complex document literal WSDL file than echoString, echoStruct.
>
> Included the changes I made in a diff format (sorry i'm not able to made
> a patch as open source community done generally). Some of the changes
> are certainly at the wrong place but avoid compilation problems. I also
> made changes in the code to correct some issues for the document literal
> mode works.
>
> I also made a changes in the Axis C/C++ code in the AxisUserAPI.h file.
> For array types the generated code need the following declaration to
> compile.
>
> /* 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;
>
> If needed a little WSDL file to show the trouble can be produced.
>
> When testing I also found a big issue on the Axis C/C++ WS stack. When a
> XML element use a C/C++ reserved word this element is prefixed by "_".
> For me only the related C/C++ variable must be renamed but not the C/C++
> literal value of the element. If we target a Web Services Server where
> the stack is not developed by Axis team the server will not renamed the
> C/C++ revered word. Example:
>
> SOAP fragment returned by Web Service server:
>
> <Status xmlns="...">
> <return xmlns="">
> <Status>OK</Status>
> </return>
> </Status>
>
> Axis C/C++ stack failed to parse the result because it expect:
>
> <Status xmlns="...">
> <_return xmlns="">
> <Status>OK</Status>
> </_return>
> </Status>
>
>
> Regards,
>
>
> Jean-Yves