Details
-
Bug
-
Status: Reopened
-
Major
-
Resolution: Unresolved
-
Java-SCA-1.4
-
None
-
Microsoft Windows XP SP2
Java JDK 1.5.0_14
Apache Tuscany SCA Java 1.4
Axis 1.3
Ant 1.7.0
Description
The WSDLs that are being generated for services using binding.ws are not valid when input parameters contain complex types. Using a Tuscany SCA generated WSDL I have tried generating a WS client using the following software suites:
- Axis
- Axis2
- JAX-WS
- XMLBeans
All of these suites generate an error regarding the "data" and/or "data2" types when using the WSDL in the supplied test code. This WSDL was obtained via http://localhost:8080/TestServiceComponent?wsdl and the only modification that was made to it was replacing the machines IP address with localhost. The supplied test code is set up to run a server using Tuscany SCA Java 1.4 and generate a WS client using Axis 1.3. The instructions for running the server and generating the client are provided below.
Create/run the server:
Open a command prompt and run the following commands (adjust paths as necessary):
cd <project directory>
set TUSCANY_HOME=C:\tuscany-sca-1.4
ant server
Create/run the client:
Open another command prompt and run the following commands (adjust paths as necessary):
cd <project directory>
set AXIS_HOME=C:\axis-1_3
ant client
This should display the following message when generating the WS client from the WSDL:
generate-wsc:
[java] Feb 17, 2009 10:00:33 AM org.apache.axis.utils.JavaUtils isAttachmentSupported
[java] WARNING: Unable to find required classes (javax.activation.DataHandler and javax.mail.internet.MimeMultipart). Attachment support is disabled.
[java] Parsing XML file: wsdl/TestServiceComponent.wsdl
[java] java.io.IOException: Type data2 is referenced but not defined.
[java] at org.apache.axis.wsdl.symbolTable.SymbolTable.checkForUndefined(SymbolTable.java:665)
[java] at org.apache.axis.wsdl.symbolTable.SymbolTable.add(SymbolTable.java:545)
[java] at org.apache.axis.wsdl.symbolTable.SymbolTable.populate(SymbolTable.java:518)
[java] at org.apache.axis.wsdl.symbolTable.SymbolTable.populate(SymbolTable.java:495)
[java] at org.apache.axis.wsdl.gen.Parser$WSDLRunnable.run(Parser.java:361)
[java] at java.lang.Thread.run(Thread.java:595)
BUILD FAILED