JAX-WS 2.1.1 | Users Guide | Tools | JAXWS RI Extensions | Samples | JAXWS Community |
The
wsimport
generates JAX-WS portable artifacts, such as:
The attributes and elements supported by the Ant task are listed below:
<wsimport 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" wsdlLocaption="..." catalog="catalog file" package="package name" <binding dir="..." includes="..." /> <xmlcatalog refid="another catalog file"/> </wsimport>
Attribute |
Description |
Command line |
|
WSDL file |
WSDL location |
|
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 |
|
xjcarg
|
Pass this option to JAXB schema compiler |
-B
|
|
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
|
|
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
catalog sample and
documentation on catalog.
|
-catalog
|
package
|
Specifies the target package |
-p
|
target
|
Generate code as per the given JAXWS specification version. version 2.0 will generate compliant code for JAXWS 2.0 spec. |
-target
|
quiet
|
Suppress wsimport output |
-quiet
|
The
binding
attributes is like a
path-like structure and can also be set via nested
<binding>
elements, respectively. Before this task can be used, a
<taskdef>
element needs to be added to the project as given below:
<taskdef name="wsimport" classname="com.sun.tools.ws.ant.WsImport">
<classpath path="jaxws.classpath"/>
</taskdef>
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.
3. Running on JDK 6
To run on JDK 6 follow these
instructions.
4. Examples
<wsimport destdir="" debug="true" wsdl="AddNumbers.wsdl" binding="custom.xml"/>
The above example generates client-side artifacts for
AddNumbers.wsdl
, stores
.class
files in the
directory using the
custom.xml
customization file. The classpath used is
xyz.jar
and compiles with debug information on.
<wsimport keep="true" sourcedestdir="" destdir="" extension="true" wsdl="AddNumbers.wsdl"> <xjcarg value="-cp"/> <xjcarg file="path/to/fluent-api.jar" /> <xjcarg value="-Xfluent-api"/> </wsimport>
The above example shows how to generates artifacts for
AddNumbers.wsdl
while passing options to JAXB xjc tool for XML Schema to Java compilation using your JAXB plugin. Note extension attribute which is set to true. You need to set this to use JAXB plugins.
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.