HomeDocumentation > Reference > Tools and commands > jaxws-tools

The jaxws-tools script can be used to generate portable artifacts used in JAX-WS web services. For example, portable artifacts such as Service Endpoint Interface (SEI) class, Service class, JAXB generated value types, etc.

This command has the following syntax:

jaxws-tools toolName [toolOptions] ...

Where toolName can be either:

  • wsgen - generate portable artifacts from Java
  • wsimport - generate portable artifacts from WSDL

The jaxws-tools command can also be started by using the java -jar command:

java -Djava.endorsed.dirs=lib/endorsed -jar bin/jaxws-tools.jar toolName [toolOptions] ...

wsgen

The jaxws-tools uses the wsgen tool provided by Sun to generate the portable artifacts from Java class. The wsgen tools has the following syntax:

jaxws-tools wsgen [options] <SEI>
  • -classpath <path>
    Specifies where to find input class files.
  • -d <directory>
    Specifies where to place generated output files.
  • -keep
    Keep generated files.
  • -r <directory>
    Specifies where to place resource files such as WSDLs.
  • -s <directory>
    Specifies where to place generated source files.
  • -wsdl
    Generate a WSDL file.
  • -servicename <name>
    Specifies the Service name to use in the generated WSDL (used in conjunction with the -wsdl option).
  • -portname <name>
    Specifies the Port name to use in the generated WSD (used in conjunction with the -wsdl option).

Example:

jaxws-tools wsgen -d output -keep -wsdl -classpath . foo.BarService

wsimport

The jaxws-tools uses the wsimport tool provided by Sun to generate the portable artifacts from WSDL. The wsimport has the following syntax:

jaxws-tools wsimport [options] <WSDL_URI>
  • -d <directory>
    Specifies where to place generated output files.
  • -keep
    Keep generated files.
  • -p <pkg>
    Specifies the target package.
  • -s <directory>
    Specifies where to place generated source files.
  • -wsdllocation <location>
    Specified @WebService.wsdlLocation and @WebServiceClient.wsdlLocation value.

Example:

jaxws-tools wsimport -d output -keep http://localhost:8080/foo/Bar?wsdl