☰ 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.
The wsimport tool generates stubs from wsdl. 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 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