wsgen generates JAX-WS portable artifacts used in JAX-WS web services. The tool reads a web service endpoint class and generates all the required artifacts for web service deployment, and invocation.

The attributes and elements supported by the Ant task are listed below:

    <wsgen
    sei="..."
    destdir="directory for generated class files"
    classpath="classpath" | cp="classpath"
    resourcedestdir="directory for generated resource files such as WSDLs"
    sourcedestdir="directory for generated source files"
    keep="true|false"
    verbose="true|false"
    genwsdl="true|false"
    protocol="soap1.1|Xsoap1.2"
    servicename="..."
    portname="...">
    extension="true|false"
    <classpath refid="..."/>
    </wsgen>
 

Attribute

Description

Command line

sei

Name of the service endpoint implementation class

SEI

destdir

Specify where to place output generated classes

-d

classpath

Specify where to find input class files

-classpath

cp

Same as -classpath

-cp

resourcedestdir

Used only in conjunction with the -wsdl option. Specify where to place generated resource files such as WSDLs

-r

sourcedestdir

Specify where to place generated source files

-s

keep

Keep generated files

-keep

verbose

Output messages about what the compiler is doing

-verbose

genwsdl

Specify that a WSDL file should be generated

-wsdl

protocol

Used in conjunction with genwsdl to specify the protocol to use in the wsdl:binding. Value values are "soap1.1" or "Xsoap1.2", default is "soap1.1". "Xsoap1.2" is not standard and can only be used in conjunction with the -extensions option

-wsdl:soap11

servicename

Used in conjunction with the genwsdl option. Used to specify a particular wsdl:service name for the generated WSDL.Example, servicename="{http://mynamespace/}MyService"

-servicename

portname

Used in conjunction with the genwsdl option. Used to specify a particular wsdl:portname name for the generated WSDL. Example, portname="{http://mynamespace/}MyPort"

-servicename

extension

allow vendor extensions (functionality not specified by the specification). Use of extensions may result in applications that are not portable or may not interoperate with other implementations

-extension

The classpath attribute is a path-like structure and can also be set via nested <classpath> elements. Before this task can be used, a <taskdef> element needs to be added to the project as given below:

<taskdef name="wsgen" classname="com.sun.tools.ws.ant.WsGen">
<classpath path="jaxws.classpath"/>
</taskdef>

where jaxws.classpath is a reference to a path-like structure, defined elsewhere in the build environment, and contains the list of classes required by the JAX-WS tools.

To run on JDK 6 follow these instructions.

    <wsgen
    resourcedestdir="${wsdl.dir}"
    sei="fromjava.server.AddNumbersImpl">
    <classpath refid="compile.classpath"/>
    </wsgen>