Java to WSDL has been edited by Glen Mazza (Aug 25, 2007).

Change summary:

Added description for use with Ant.

(View changes)

Content:

Synopsis

java2wsdl [-?|-help|-h][-o <output-file>][-cp <class-path>][-soap12][-t <target-namespace>][-servicenam <seservice-name>][-v][-verbose|-quiet][-s <source-directory>]
          [-classdir <compile-classes-directory>][-portname <port-name>][-createxsdimports][-d <output-directory>] { classname }

Description

java2wsdl uses a Web service endpoint's implementation (SEI) class and associated types classes to generate a WSDL file.

Example

java2wsdl org.apache.hello_world_soap_http.Greeter

java2wsdl -cp ./tmp org.apache.hello_world_soap_http.Greeter

java2wsdl -o hello.wsdl org.apache.hello_world_soap_http.Greeter

java2wsdl -o hello.wsdl -t http://cxf.apache.org org.apache.hello_world_soap_http.Greeter

(See below for usage with Apache Ant.)

Arguments

The arguments used to manage the WSDL file generation 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.
-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 are placed, mostly in jaxws mode, it will generate the wrapper beans and fault beans
-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 output files are placed.
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.

Using java2wsdl with Ant

The java2wsdl command can be wrapped inside an Ant target as shown below:

<?xml version="1.0"?>
<project name="cxf java2wsdl" basedir=".">   
   <property name="cxf.home" location ="/usr/myapps/cxf-2.0.1"/>
   <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="cxfJavaToWSDL">
      <java classname="org.apache.cxf.tools.java2wsdl.JavaToWSDL" fork="true">
         <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.)

Reply via email to