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. also provides wsimport ant task, see Wsimport ant task.
Launching wsimport
- Solaris/Linux
/bin/wsimport.sh -help
- Windows
\bin\wsimport.bat -help
Syntax
wsimport [options]
The following table lists the wsimport options.
| Option | Description |
|---|---|
-d | Specify where to place generated output files |
-b | Specify external JAX-WS or JAXB binding files (Each |
-B | 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: | 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 | Specify where to place generated source files |
-verbose | Output messages about what the compiler is doing |
-version | Print version information |
-wsdllocation | @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. More information on JAX-WS and JAXB binding files can be found in the customization documentation.
Example
wsimport -p stockquote http://stockquote.xyz/quote?wsdlThis will generate the Java artifacts and compile them by importing the
http://stockquote.xyz/quote?wsdl.
Ant task
An Ant task for the wsimport tool is provided along with the tool. The attributes and elements supported by the Ant task are listed below:
wsdl="..."
destdir="directory for generated class files"
sourcedestdir="directory for generated source files"
keep="true|false"
extension="true|false"
verbose="true|false"
version="true|false"
wsdlLocation="..."
catalog="catalog file"
package="package name"
Attribute | Description | Command line |
|
| WSDL file | WSDL |
|
| Specify where to place output generated classes |
|
sourcedestdir | Specify where to place generated source files, keep is turned on with this option
|
|
|
| Keep generated files, tunred on with sourcedestdir option
|
|
|
| Output messages about what the compiler is doing |
|
|
| Specify external JAX-WS or JAXB binding files |
|
|
| 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
|
|
wsdllocation
| The wsdl URI passed thru this option will be used to set the value of @WebService.wsdlLocation and @WebServiceClient.wsdlLocation annotation elements on the generated SEI and Service interface
| -wsdllocation
|
catalog
| Specify catalog file to resolve external entity references, it supports TR9401, XCatalog, and OASIS XML Catalog format. Additionally, ant xmlcatalog type can be used to resolve entities, see wsimport_catalog sample.
| -catalog |
package
| Specifies the target package | -p
|
The binding attributes is like a path-like structure and can also be set via nested elements, respectively. Before this task can be used, a element needs to be added to the project as given below:
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.
Examples
destdir="${build.classes.home}"
debug="true"
wsdl="AddNumbers.wsdl"
binding="custom.xml"/>
The above example generates client-side artifacts for AddNumbers.wsdl, stores .class files in the ${build.classes.home} directory using the custom.xml customization file. The classpath used is xyz.jar and compiles with debug information on.
sourcedestdir="${source.dir}"
destdir="${build.classes.home}"
wsdl="AddNumbers.wsdl">
The above example generates portable artifacts for
AddNumbers.wsdl, stores .java files in the ${source.dir} directory, stores .class files in the ${build.classes.home} directory.
Source: https://jax-ws.dev.java.net/jax-ws-ea3/docs/wsimport.html
No comments:
Post a Comment