(Under development)
Synopsis
Description
java2ws uses a Web service endpoint's implementation (SEI) class and associated types classes to generate a WSDL file, wrapper bean ,server side code used to start this web service and client side code.
Note: java2ws is implemented only for future CXF 2.1 releases (those off of our trunk code). For the present 2.0.x production series of CXF, please use java2wsdl instead.
Example
java2ws -wsdl -d ./resource org.apache.hello_world_soap_http.Greeter
java2ws -cp ./tmp org.apache.hello_world_soap_http.Greeter -wsdl
java2ws -o hello.wsdl -wsdl org.apache.hello_world_soap_http.Greeter
java2ws -client -server -s ./src org.apache.hello_world_soap_http.Greeter
java2ws -wrapperbean -classdir ./classes org.apache.hello_world_soap_http.Greeter
Arguments
The arguments used to manage the code generation process are reviewed in the following table.
Option |
Interpretation |
-? |
Displays the online help for this utility. |
-help |
-h |
-o |
Specifies the name of the generated WSDL file. |
--databinding |
Specify the data binding (aegis or jaxb). Default is jaxb for jaxws frontend, and aegis for simple frontend. |
-frontend |
Specify the frontend to use. jaxws and the simple frontend are supported. |
-wsdl |
Specify to generate the WSDL file. |
-wrapperbean |
Specify to generate the wrapper and fault bean |
-client |
Specify to generate client side code |
-server |
Specify to generate server side code |
-ant |
Specify to generate an Ant build.xml script |
-cp |
Specify the SEI and types class search path of directories and zip/jar files. |
-soap12 |
Specifies that the generated WSDL is to include a SOAP 1.2 binding. |
-t |
Specifies the target namespace to use in the generated WSDL file. |
-servicename |
Specifies the value of the generated service element's name attribute. |
-v |
Displays the version number for the tool. |
-verbose |
Displays comments during the code generation process. |
-quiet |
Suppresses comments during the code generation process. |
-s |
The directory in which the generated source files(wrapper bean ,fault bean ,client side or server side code) are placed. |
-classdir |
The directory in which the generated sources are compiled into. If not specified, the files are not compiled. |
-portname |
Specify the port name to use in the generated wsdl. |
-createxsdimports |
Output schemas to separate files and use imports to load them instead of inlining them into the wsdl. |
-d |
The directory in which the resource files are placed, wsdl file will be placed into this directory by default |
classname |
Specifies the name of the SEI class. |
You must include the classname argument. All other arguments are optional and may be listed in any order. This tool will search and load the service endpoint class and types classes. Make certain these classes are on the CLASSPATH or in a location identified through the -cp flag. If none of "-wsdl , - wrapperbean, -client, -server" flags are specified, java2ws will generate nothing.
Using java2ws with Ant
The java2ws command can be wrapped inside an Ant target as shown below:
<?xml version="1.0"?>
<project name="cxf java2ws" basedir=".">
<property name="cxf.home" location ="/usr/myapps/cxf-trunk"/>
<property name="build.classes.dir" location ="${basedir}/build/classes"/>
<path id="cxf.classpath">
<pathelement location="${build.classes.dir}"/>
<fileset dir="${cxf.home}/lib">
<include name="*.jar"/>
</fileset>
</path>
<target name="cxfJavaToWS">
<java classname="org.apache.cxf.tools.java2ws.JavaToWS" fork="true">
<arg value="-wsdl"/>
<arg value="-o"/>
<arg value="hello.wsdl"/>
<arg value="service.Greeter"/>
<classpath>
<path refid="cxf.classpath"/>
</classpath>
</java>
</target>
</project>
Make sure you set the "fork=true" attribute for the <java/> task as shown above. Also, remember to keep each word or flag within the command line options in its own <arg/> element (e.g., do not use <arg value="-o hello.wsdl"/>, but split them up into two <arg/> elements as done here.)