Java TM API for XML Web Services
(JAX-WS)

Wsimport Ant Task

Specification Version: 2.1
Implementation Version: 2.1.4

Contents

  1. 1. Overview
    1. 2. Wsimport Task Attributes
      1. 3. Running on JDK 6
        1. 4. Examples

          1. Overview

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

          2. Wsimport Task Attributes

          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"
              wsdlLocation="..."
              catalog="catalog file"
              package="package name"
              quiet="true|false"
              xadditionalHeaders="true|false"
              xauthfile="authorization file"
              xdebug="true|false"
              xNoAddressingDatabinding="true|false"
              xnocompile="true|false"
              <binding dir="..." includes="..." />
              <xmlcatalog refid="another catalog file"/>
          </wsimport>
          

          Attribute

          Description

          Required

          Command line

          wsdl

          WSDL file

          Yes

          WSDL location

          destdir

          Specify where to place output generated classes

          No. Defaults to current working directory

          -d

          sourcedestdir

          Specify where to place generated source code files, keep is turned on with this option

          No. Defaults to current working directory

          -s

          keep

          Keep generated source code files, tunred on with sourcedestdir option

          No. Defaults to false.

          -keep

          verbose

          Output messages about what the compiler is doing

          No. Defaults to false.

          -verbose

          binding

          Specify external JAX-WS or JAXB binding files or additional schema files (Each <file> must have its own -b)

          No. No defaults.

          -b

          xjcarg Pass this option to JAXB schema compiler

          No. No defaults.

          -B

          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

          No. Defaults to false.

          -extension

          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

          No. Defaults to the wsdl URL passed to wsdl attribute.

          -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.

          No. No defaults.

          -catalog
          package
          Specifies the target package

          No. It default to the WSDL/Schema targetNamespace to package mapping as defined by the JAXB 2.1 spec.

          -p
          target Generate code as per the given JAXWS specification version. version 2.0 will generate compliant code for JAXWS 2.0 spec.

          No. Defaults to 2.0

          -target
          quiet Suppress wsimport output

          No. Defaults to false.

          -quiet
          xadditionalHeaders Map headers not bound to request or response message to Java method parameterst

          No. Defaults to false.

          -XadditionalHeaders
          xauthfile File to carry authorization information in the format http://username:password@example.org/stock?wsdl.

          No. Defaults to $HOME/.metro/auth

          -Xauthfile
          xdebug Print debug information

          No. Defaults to false.

          -quiet
          xNoAddressingDatabinding Enable binding of W3C EndpointReferenceType to Java

          No. Defaults to false.

          -quiet
          xnocompile Do not compile generated Java files

          No. Defaults to false.

          -Xnocompile

          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.