# `wsimport`

## `wsimport` Overview

The `wsimport` tool generates JAX-WS portable artifacts, such as:

- Service Endpoint Interface (SEI)

- Service

- Exception class mapped from `wsdl:fault` (if any)

- Async Reponse Bean derived from response `wsdl:message` (if any)

- JAXB generated value types (mapped java classes from schema types)

These artifacts can be packaged in a WAR file with the WSDL and schema documents along with the endpoint implementation to be deployed. &jax-ws.product.name; also provides a .

## Launching `wsimport`

- Solaris/Linux

  -     JAXWS_HOME/bin/wsimport.sh -help

- Windows

  -     JAXWS_HOME\bin\wsimport.bat -help

## `wsimport` Syntax

`wsimport` OPTION WSDL

The following table lists the `wsimport` options:

Option | Description
--- | ---
`-d <directory>` | Specify where to place generated output files.
`-classpath <path>` | Specify where to find user class files and wsimport extensions.
`-cp <path>` | Specify where to find user class files and wsimport extensions.
`-b <path>` | Specify external JAX-WS or JAXB binding files or additional schema files (Each `<file>` must have its own `-b`).
`-B <jaxbOption>` | Pass this option to JAXB schema compiler.
`-catalog` | Specify catalog file to resolve external entity references, it supports TR9401, XCatalog, and OASIS XML Catalog format. Please read the documentation of and see catalog sample.
`-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.
`-httpproxy:<host>:<port>` | Specify an HTTP proxy server (port defaults to 8080).
`-J<javacOption>` | Pass this option to Javac compiler. Note: use '=' instead of space as a delimiter between option name and its value.
`-keep` | Keep generated source code files. It is enabled when `-s` option.
`-p <pkg>` | Specifying a target package via this command-line option, overrides any wsdl and schema binding customization for package name and the default package name algorithm defined in the specification.
`-s <directory>` | Specify where to place generated source code files. keep is turned on with this option.
`-encoding <encoding>` | Set the encoding name for generated sources, such as EUC-JP or UTF-8. If `-encoding` is not specified, the platform default encoding is used.
`-verbose` | Output messages about what the compiler is doing.
`-version` | Print version information.
`-fullversion` | Print full version information.
`-clientjar <jarfile>` | Creates the jar file of the generated artifacts along with the WSDL metadata required for invoking the web service.
`-wsdllocation <location>` | `@WebServiceClient.wsdlLocation` value.
`-target <version>` | Generate code as per the given JAX-WS specification version. For example, "`-target 2.0`" generates compliant code for JAX-WS 2.0 spec. Default value is 2.2.
`-quiet` | Suppress `wsimport` output.
`-XadditionalHeaders` | Map the headers not bound to request or response message to Java method parameters.
`-Xauthfile` | File to carry authorization information in the format http://username:password@example.org/stock?wsdl. The asterisk character ("*") can be used to match multiple URL patterns. Default value is `$HOME/.metro/auth`
`-Xdebug` | Print debug information.
`-XdisableAuthenticator` | Disables Authenticator used by JAX-WS RI, `-Xauthfile` option will be ignored if `-XdisableAuthenticator` is set.
`-Xno-addressing-databinding` | Enable binding of W3C `EndpointReferenceType` to Java.
`-Xnocompile` | Do not compile generated Java files.
`-XdisableSSLHostnameVerification` | Disbales the SSL Hostname verification while fetching the wsdls.

Multiple JAX-WS and JAXB binding files can be specified using `-b` option and they can be used to customize various things like package names, bean names, etc. More information on JAX-WS and JAXB binding files can be found in the .

## `wsimport` Example

    wsimport -p stockquote http://stockquote.xyz/quote?wsdl

This will generate the Java artifacts and compile them by importing the http://stockquote.xyz/quote?wsdl.