wsgen - JAX-WS 2.0 Beta

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

SYNOPSIS

wsgen [options] <SEI>

OPTIONS

The following table lists the wsgen options.

Table 1-1 wsgen Options

Option

Description

-classpath <path>

Specify where to find input class files

-cp <path>

Same as -classpath <path>

-d <directory>

Specify where to place generated output files

-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

-help

Display help

-keep

Keep generated files

-r <directory>

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

-s <directory>

Specify where to place generated source files

-verbose

Output messages about what the compiler is doing

-version

Print version information. Use of this option will ONLY print version information. Normal processing will not occur.

-wsdl[:protocol]
By default wsgen does not generate a WSDL file.  This flag is optional and will cause wsgen to generate a WSDL file and is usually only used so that the developer can look at the WSDL before the endpoint is deploy.  The protocol is optional and is used to specify what protocol should be used in the wsdl:binding. Valid protocols include:  soap1.1 and Xsoap1.2.  The default is soap1.1Xsoap1.2 is not standard and can only be used in conjunction with the -extension option.

-servicename <name>

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

-portname <name>

Used only in conjunction with the -wsdl option. Used to specify a particular wsdl:port name to be generated in the WSDL. Example, -portname "{http://mynamespace/}MyPort"

Ant task

An Ant task for the wsgen tool is provided along with the tool. 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:portmame name for the generated WSDL. Example, portname="{http://mynamespace/}MyPort"

-servicename

extension

allow vendor extentions (funcionality 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.

Example

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

Copyright © 2006 Sun Microsystems, Inc. All Rights Reserved.

Sun
Java Software