I made a small experience that could lead to some potential bugs in Axis 1.2 alpha. I will try to explain it clearly ;)
1- I used Axis 1.2 alpha to expose my webservice (server side)
2- On the client side (using Axis 1.1), I noticed that I could not generate the client stub anymore for my webservice, the message was:
======================
generate_stub_MyServide.RPC:
WSDL2Java http://localhost:8080/axis/services/MyServide.RPC?wsdl
Parsing XML file: http://localhost:8080/axis/services/MyServide.RPC?wsdl
java.io.IOException: Type {http://www.w3.org/2003/05/soap-encoding}string is referenced but not defined.
BUILD SUCCESSFUL
Total time: 2 seconds ======================
3- Then I started to wonder why, so I tried to use Axis 1.2 alpha in my client as well and suddently the client stub generation was working.
4- Then I analysed the difference between the WSDL generated with Axis 1.2 alpha and Axis 1.1 and I noticed a difference in the mapping of the "java.lang.String" type.
For instance: ============ portion of the WSDL generated with AXIS 1.1 ============ <complexType name="MyFault"> <sequence> <element name="info" nillable="true" type="xsd:string"/> <element name="message" nillable="true" type="xsd:string"/> </sequence> </complexType> =====================================================================
============ portion of the WSDL generated with AXIS 1.2 alpha ============ <complexType name="MyFault"> <sequence> <element name="info" nillable="true" type="tns2:string"/> <element name="message" nillable="true" type="tns2:string"/> </sequence> </complexType> =====================================================================
So the questions are : a) Why doesn't Axis 1.2 alpha (java2wsdl) map the type "java.lang.String" to "xsd:string" anymore like it used to be in Axis 1.1?
Is this a bug?
b) Why does Axis 1.2 alpha (wsdl2java) understand "tns2:string" and map it correctly to "java.lang.String" during the client stub generation? Is this a second bug?
c) Am I doing something wrong somewhere?
Cheers, Patrick.