×
☰ See All Chapters

wsimport 

The JAX-WS SOAP Example we provided in the earlier chapters is just running in JVM, to deploy either service or client in app servers you have separate architecture to be followed. You have to generate ties for service and stubs for clients before packaging the application. wsimport, wsgen are the tools used to generate ties and stubs respectively.

You can find wsimport and wsgen tools from inside JDK installation.

wsimport-0
 

The wsimport tool generates stubs from wsdl. The wsimport tool generates JAX-WS portable artifacts, such as:

  1. Service Endpoint Interface (SEI) 

  2. Service 

  3. Exception class mapped from wsdl:fault (if any) 

  4. Async Reponse Bean derived from response wsdl:message (if any) 

  5. JAXB generated value types (mapped java classes from schema types) 

These artifacts are client side proxy objects which are responsible for communicating with the provider web service. These are java classes with a socket program.

Syntax to execute wsimport command

        wsimport [options] <wsdl>

wsimport options

The following table lists the wsimport options.

Option

Description

-d <directory>  

Specify where to place generated output files

-b <path>  

Specify external JAX-WS or JAXB binding 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 catalog 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)

-keep  

Keep generated files

-p  

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 files

-verbose  

Output messages about what the compiler is doing

-version  

Print version information

-wsdllocation <location>

@WebServiceClient.wsdlLocation value

-target  

Generate code as per the given JAX-WS specification version. version 2.0 will generate compliant code for JAX-WS 2.0 spec.

-quiet  

Suppress wsimport output

 

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.

Please read our next tutorial to learn wsimport example.

 


All Chapters
Author