.'" t
."
." Copyright 2005-2006 Sun Microsystems, Inc.  All Rights Reserved.
." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
."
." This code is free software; you can redistribute it and/or modify it
." under the terms of the GNU General Public License version 2 only, as
." published by the Free Software Foundation.
."
." This code is distributed in the hope that it will be useful, but WITHOUT
." ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
." FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
." version 2 for more details (a copy is included in the LICENSE file that
." accompanied this code).
."
." You should have received a copy of the GNU General Public License version
." 2 along with this work; if not, write to the Free Software Foundation,
." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
."
." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
." CA 95054 USA or visit www.sun.com if you need additional information or
." have any questions.
."
." `
.TH wsimport 1 "07 Aug 2006"
." Generated by html2man

.LP
.SH NAME
wsimport \- JAX\-WS 2.0 Beta
.LP
.SH "SYNOPSIS"
.LP

.LP
.nf
\f3
.fl
wsimport [options] <wsdl>
.fl
\fP
.fi

.LP
.SH "DESCRIPTION"
.LP
.LP
The \f2wsimport\fP tool generates JAX\-WS portable artifacts, such as:
.LP
.RS 3
.TP 2
o
Service Endpoint Interface (SEI) 
.TP 2
o
Service 
.TP 2
o
Exception class mapped from wsdl:fault (if any) 
.TP 2
o
Async Reponse Bean derived from response wsdl:message (if any) 
.TP 2
o
JAXB generated value types (mapped java classes from schema types) 
.RE

.LP
.LP
These artifacts can be packaged in a WAR file with the WSDL and schema documents along with the endpoint implementation to be deployed.
.br

.LP
.LP
wsimport tool can be launched using the command line script wsimport.sh (Unix) or wsimport.bat(windows). There is also and ant task to import and compile the wsdl, see the details below.
.br

.LP
.SH "OPTIONS"
.LP
.LP
The following table lists the \f2wsimport\fP options.
.br

.LP
.LP
Table 1\-1 wsimport Options
.LP
.LP
.TS
.if \n+(b.=1 .nr d. \n(.c-\n(c.-1
.de 35
.ps \n(.s
.vs \n(.vu
.in \n(.iu
.if \n(.u .fi
.if \n(.j .ad
.if \n(.j=0 .na
..
.nf
.nr #~ 0
.if n .nr #~ 0.6n
.ds #d .d
.if \(ts\n(.z\(ts\(ts .ds #d nl
.fc
.nr 33 \n(.s
.rm 80 81
.nr 34 \n(.lu
.eo
.am 81
.br
.di a+
.35
.ft \n(.f
.ll \n(34u*1u/3u
.if \n(.l<\n(81 .ll \n(81u
.in 0
Specify where to place generated output files
.br
.di
.nr a| \n(dn
.nr a- \n(dl
..
.ec \
.eo
.am 81
.br
.di b+
.35
.ft \n(.f
.ll \n(34u*1u/3u
.if \n(.l<\n(81 .ll \n(81u
.in 0
Specify external JAX\-WS or JAXB binding files (Each \f2<file>\fP must have its own \f2\-b\fP)
.br
.di
.nr b| \n(dn
.nr b- \n(dl
..
.ec \
.eo
.am 81
.br
.di c+
.35
.ft \n(.f
.ll \n(34u*1u/3u
.if \n(.l<\n(81 .ll \n(81u
.in 0
Specify catalog file to resolve external entity references, it supports TR9401, XCatalog, and OASIS XML Catalog format. Please read the XML Entity and URI Resolvers document or see \f3wsimport_catalog\fP sample.
.br
.di
.nr c| \n(dn
.nr c- \n(dl
..
.ec \
.eo
.am 81
.br
.di d+
.35
.ft \n(.f
.ll \n(34u*1u/3u
.if \n(.l<\n(81 .ll \n(81u
.in 0
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
.br
.di
.nr d| \n(dn
.nr d- \n(dl
..
.ec \
.eo
.am 80
.br
.di e+
.35
.ft \n(.f
.ll \n(34u*1u/3u
.if \n(.l<\n(80 .ll \n(80u
.in 0
\f2\-httpproxy:<host>:<port>\fP
.br
.di
.nr e| \n(dn
.nr e- \n(dl
..
.ec \
.eo
.am 81
.br
.di f+
.35
.ft \n(.f
.ll \n(34u*1u/3u
.if \n(.l<\n(81 .ll \n(81u
.in 0
Specify an HTTP proxy server (port defaults to 8080)
.br
.di
.nr f| \n(dn
.nr f- \n(dl
..
.ec \
.eo
.am 81
.br
.di g+
.35
.ft \n(.f
.ll \n(34u*1u/3u
.if \n(.l<\n(81 .ll \n(81u
.in 0
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
.br
.di
.nr g| \n(dn
.nr g- \n(dl
..
.ec \
.eo
.am 81
.br
.di h+
.35
.ft \n(.f
.ll \n(34u*1u/3u
.if \n(.l<\n(81 .ll \n(81u
.in 0
Specify where to place generated source files
.br
.di
.nr h| \n(dn
.nr h- \n(dl
..
.ec \
.eo
.am 81
.br
.di i+
.35
.ft \n(.f
.ll \n(34u*1u/3u
.if \n(.l<\n(81 .ll \n(81u
.in 0
Output messages about what the compiler is doing
.br
.di
.nr i| \n(dn
.nr i- \n(dl
..
.ec \
.eo
.am 81
.br
.di j+
.35
.ft \n(.f
.ll \n(34u*1u/3u
.if \n(.l<\n(81 .ll \n(81u
.in 0
Print version information
.br
.di
.nr j| \n(dn
.nr j- \n(dl
..
.ec \
.eo
.am 80
.br
.di k+
.35
.ft \n(.f
.ll \n(34u*1u/3u
.if \n(.l<\n(80 .ll \n(80u
.in 0
\f2\-wsdllocation <location>\fP
.br
.br
.di
.nr k| \n(dn
.nr k- \n(dl
..
.ec \
.eo
.am 81
.br
.di l+
.35
.ft \n(.f
.ll \n(34u*1u/3u
.if \n(.l<\n(81 .ll \n(81u
.in 0
\f2@WebService.wsdlLocation\fP and \f2@WebServiceClient.wsdlLocation\fP value
.br
.br
.di
.nr l| \n(dn
.nr l- \n(dl
..
.ec \
.35
.nf
.ll \n(34u
.nr 80 0
.nr 38 \w\f3Option\fP
.if \n(80<\n(38 .nr 80 \n(38
.nr 38 \w\f2\-d <directory>\fP
.if \n(80<\n(38 .nr 80 \n(38
.nr 38 \w\f2\-b <path>\fP
.if \n(80<\n(38 .nr 80 \n(38
.nr 38 \w\-catalog
.if \n(80<\n(38 .nr 80 \n(38
.nr 38 \w\f2\-extension\fP
.if \n(80<\n(38 .nr 80 \n(38
.nr 38 \w\f2\-help\fP
.if \n(80<\n(38 .nr 80 \n(38
.nr 38 \w\f2\-keep\fP
.if \n(80<\n(38 .nr 80 \n(38
.nr 38 \w\f2\-p\fP
.if \n(80<\n(38 .nr 80 \n(38
.nr 38 \w\f2\-s <directory>\fP
.if \n(80<\n(38 .nr 80 \n(38
.nr 38 \w\f2\-verbose\fP
.if \n(80<\n(38 .nr 80 \n(38
.nr 38 \w\f2\-version\fP
.if \n(80<\n(38 .nr 80 \n(38
.80
.rm 80
.nr 38 \n(e-
.if \n(80<\n(38 .nr 80 \n(38
.nr 38 \n(k-
.if \n(80<\n(38 .nr 80 \n(38
.nr 81 0
.nr 38 \w\f3Description\fP
.if \n(81<\n(38 .nr 81 \n(38
.nr 38 \wDisplay help
.if \n(81<\n(38 .nr 81 \n(38
.nr 38 \wKeep generated files
.if \n(81<\n(38 .nr 81 \n(38
.81
.rm 81
.nr 38 \n(a-
.if \n(81<\n(38 .nr 81 \n(38
.nr 38 \n(b-
.if \n(81<\n(38 .nr 81 \n(38
.nr 38 \n(c-
.if \n(81<\n(38 .nr 81 \n(38
.nr 38 \n(d-
.if \n(81<\n(38 .nr 81 \n(38
.nr 38 \n(f-
.if \n(81<\n(38 .nr 81 \n(38
.nr 38 \n(g-
.if \n(81<\n(38 .nr 81 \n(38
.nr 38 \n(h-
.if \n(81<\n(38 .nr 81 \n(38
.nr 38 \n(i-
.if \n(81<\n(38 .nr 81 \n(38
.nr 38 \n(j-
.if \n(81<\n(38 .nr 81 \n(38
.nr 38 \n(l-
.if \n(81<\n(38 .nr 81 \n(38
.35
.nf
.ll \n(34u
.nr 38 1n
.nr 79 0
.nr 40 \n(79+(0*\n(38)
.nr 80 +\n(40
.nr 41 \n(80+(3*\n(38)
.nr 81 +\n(41
.nr TW \n(81
.if t .if \n(TW>\n(.li .tm Table at line 124 file Input is too wide - \n(TW units
.fc  
.nr #T 0-1
.nr #a 0-1
.eo
.de T#
.ds #d .d
.if \(ts\n(.z\(ts\(ts .ds #d nl
.mk ##
.nr ## -1v
.ls 1
.ls
..
.ec
.ta \n(80u \n(81u 
.nr 31 \n(.f
.nr 35 1m
\&\h'|\n(40u'\f3Option\fP\h'|\n(41u'\f3Description\fP
.ne \n(a|u+\n(.Vu
.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v)
.ta \n(80u \n(81u 
.nr 31 \n(.f
.nr 35 1m
\&\h'|\n(40u'\f2\-d <directory>\fP\h'|\n(41u'
.mk ##
.nr 31 \n(##
.sp |\n(##u-1v
.nr 37 \n(41u
.in +\n(37u
.a+
.in -\n(37u
.mk 32
.if \n(32>\n(31 .nr 31 \n(32
.sp |\n(31u
.ne \n(b|u+\n(.Vu
.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v)
.ta \n(80u \n(81u 
.nr 31 \n(.f
.nr 35 1m
\&\h'|\n(40u'\f2\-b <path>\fP\h'|\n(41u'
.mk ##
.nr 31 \n(##
.sp |\n(##u-1v
.nr 37 \n(41u
.in +\n(37u
.b+
.in -\n(37u
.mk 32
.if \n(32>\n(31 .nr 31 \n(32
.sp |\n(31u
.ne \n(c|u+\n(.Vu
.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v)
.ta \n(80u \n(81u 
.nr 31 \n(.f
.nr 35 1m
\&\h'|\n(40u'\-catalog\h'|\n(41u'
.mk ##
.nr 31 \n(##
.sp |\n(##u-1v
.nr 37 \n(41u
.in +\n(37u
.c+
.in -\n(37u
.mk 32
.if \n(32>\n(31 .nr 31 \n(32
.sp |\n(31u
.ne \n(d|u+\n(.Vu
.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v)
.ta \n(80u \n(81u 
.nr 31 \n(.f
.nr 35 1m
\&\h'|\n(40u'\f2\-extension\fP\h'|\n(41u'
.mk ##
.nr 31 \n(##
.sp |\n(##u-1v
.nr 37 \n(41u
.in +\n(37u
.d+
.in -\n(37u
.mk 32
.if \n(32>\n(31 .nr 31 \n(32
.sp |\n(31u
.ta \n(80u \n(81u 
.nr 31 \n(.f
.nr 35 1m
\&\h'|\n(40u'\f2\-help\fP\h'|\n(41u'Display help
.ne \n(e|u+\n(.Vu
.ne \n(f|u+\n(.Vu
.if (\n(e|+\n(#^-1v)>\n(#- .nr #- +(\n(e|+\n(#^-\n(#--1v)
.if (\n(f|+\n(#^-1v)>\n(#- .nr #- +(\n(f|+\n(#^-\n(#--1v)
.ta \n(80u \n(81u 
.nr 31 \n(.f
.nr 35 1m
\&\h'|\n(40u'\h'|\n(41u'
.mk ##
.nr 31 \n(##
.sp |\n(##u-1v
.nr 37 \n(40u
.in +\n(37u
.e+
.in -\n(37u
.mk 32
.if \n(32>\n(31 .nr 31 \n(32
.sp |\n(##u-1v
.nr 37 \n(41u
.in +\n(37u
.f+
.in -\n(37u
.mk 32
.if \n(32>\n(31 .nr 31 \n(32
.sp |\n(31u
.ta \n(80u \n(81u 
.nr 31 \n(.f
.nr 35 1m
\&\h'|\n(40u'\f2\-keep\fP\h'|\n(41u'Keep generated files
.ne \n(g|u+\n(.Vu
.if (\n(g|+\n(#^-1v)>\n(#- .nr #- +(\n(g|+\n(#^-\n(#--1v)
.ta \n(80u \n(81u 
.nr 31 \n(.f
.nr 35 1m
\&\h'|\n(40u'\f2\-p\fP\h'|\n(41u'
.mk ##
.nr 31 \n(##
.sp |\n(##u-1v
.nr 37 \n(41u
.in +\n(37u
.g+
.in -\n(37u
.mk 32
.if \n(32>\n(31 .nr 31 \n(32
.sp |\n(31u
.ne \n(h|u+\n(.Vu
.if (\n(h|+\n(#^-1v)>\n(#- .nr #- +(\n(h|+\n(#^-\n(#--1v)
.ta \n(80u \n(81u 
.nr 31 \n(.f
.nr 35 1m
\&\h'|\n(40u'\f2\-s <directory>\fP\h'|\n(41u'
.mk ##
.nr 31 \n(##
.sp |\n(##u-1v
.nr 37 \n(41u
.in +\n(37u
.h+
.in -\n(37u
.mk 32
.if \n(32>\n(31 .nr 31 \n(32
.sp |\n(31u
.ne \n(i|u+\n(.Vu
.if (\n(i|+\n(#^-1v)>\n(#- .nr #- +(\n(i|+\n(#^-\n(#--1v)
.ta \n(80u \n(81u 
.nr 31 \n(.f
.nr 35 1m
\&\h'|\n(40u'\f2\-verbose\fP\h'|\n(41u'
.mk ##
.nr 31 \n(##
.sp |\n(##u-1v
.nr 37 \n(41u
.in +\n(37u
.i+
.in -\n(37u
.mk 32
.if \n(32>\n(31 .nr 31 \n(32
.sp |\n(31u
.ne \n(j|u+\n(.Vu
.if (\n(j|+\n(#^-1v)>\n(#- .nr #- +(\n(j|+\n(#^-\n(#--1v)
.ta \n(80u \n(81u 
.nr 31 \n(.f
.nr 35 1m
\&\h'|\n(40u'\f2\-version\fP\h'|\n(41u'
.mk ##
.nr 31 \n(##
.sp |\n(##u-1v
.nr 37 \n(41u
.in +\n(37u
.j+
.in -\n(37u
.mk 32
.if \n(32>\n(31 .nr 31 \n(32
.sp |\n(31u
.ne \n(k|u+\n(.Vu
.ne \n(l|u+\n(.Vu
.if (\n(k|+\n(#^-1v)>\n(#- .nr #- +(\n(k|+\n(#^-\n(#--1v)
.if (\n(l|+\n(#^-1v)>\n(#- .nr #- +(\n(l|+\n(#^-\n(#--1v)
.ta \n(80u \n(81u 
.nr 31 \n(.f
.nr 35 1m
\&\h'|\n(40u'\h'|\n(41u'
.mk ##
.nr 31 \n(##
.sp |\n(##u-1v
.nr 37 \n(40u
.in +\n(37u
.k+
.in -\n(37u
.mk 32
.if \n(32>\n(31 .nr 31 \n(32
.sp |\n(##u-1v
.nr 37 \n(41u
.in +\n(37u
.l+
.in -\n(37u
.mk 32
.if \n(32>\n(31 .nr 31 \n(32
.sp |\n(31u
.fc
.nr T. 1
.T# 1
.35
.rm a+
.rm b+
.rm c+
.rm d+
.rm e+
.rm f+
.rm g+
.rm h+
.rm i+
.rm j+
.rm k+
.rm l+
.TE
.if \n-(b.=0 .nr c. \n(.c-\n(d.-54

.LP
.LP
Multiple JAX\-WS and JAXB binding files can be specified using \f2\-b\fP 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.
.br

.LP
.SS 
Ant task
.LP
.LP
An Ant task for the \f2wsimport\fP tool is provided along with the tool. The attributes and elements supported by the Ant task are listed below:
.br

.LP
.nf
\f3
.fl
   <wsimport           \fP
.br
\f3
.fl
      wsdl="..."      \fP
.br
\f3
.fl
      destdir="directory for generated class files"\fP
.br
\f3
.fl
      sourcedestdir="directory for generated source files"\fP
.br
\f3
.fl
      keep="true|false"\fP
.br
\f3
.fl
      extension="true|false"\fP
.br
\f3
.fl
      verbose="true|false"\fP
.br
\f3
.fl
      version="true|false"\fP
.br
\f3
.fl
      wsdlLocation="..."\fP
.br
\f3
.fl
      catalog="catalog file"\fP
.br
\f3
.fl
      package="package name"\fP
.br
\f3
.fl
      <binding dir="..." includes="..." />\fP
.br
\f3
.fl
  </wsimport>
.fl
\fP
.fi

.LP
.LP
.TS
.if \n+(b.=1 .nr d. \n(.c-\n(c.-1
.de 35
.ps \n(.s
.vs \n(.vu
.in \n(.iu
.if \n(.u .fi
.if \n(.j .ad
.if \n(.j=0 .na
..
.nf
.nr #~ 0
.if n .nr #~ 0.6n
.ds #d .d
.if \(ts\n(.z\(ts\(ts .ds #d nl
.fc
.nr 33 \n(.s
.rm 80 81 82
.nr 34 \n(.lu
.eo
.am 81
.br
.di a+
.35
.ft \n(.f
.ll \n(34u*1u/4u
.if \n(.l<\n(81 .ll \n(81u
.in 0
Specify where to place output generated classes
.br
.di
.nr a| \n(dn
.nr a- \n(dl
..
.ec \
.eo
.am 81
.br
.di b+
.35
.ft \n(.f
.ll \n(34u*1u/4u
.if \n(.l<\n(81 .ll \n(81u
.in 0
Specify where to place generated source files, keep is turned on with this option
.br
.di
.nr b| \n(dn
.nr b- \n(dl
..
.ec \
.eo
.am 81
.br
.di c+
.35
.ft \n(.f
.ll \n(34u*1u/4u
.if \n(.l<\n(81 .ll \n(81u
.in 0
Keep generated files, tunred on with sourcedestdir option
.br
.di
.nr c| \n(dn
.nr c- \n(dl
..
.ec \
.eo
.am 81
.br
.di d+
.35
.ft \n(.f
.ll \n(34u*1u/4u
.if \n(.l<\n(81 .ll \n(81u
.in 0
Output messages about what the compiler is doing
.br
.di
.nr d| \n(dn
.nr d- \n(dl
..
.ec \
.eo
.am 81
.br
.di e+
.35
.ft \n(.f
.ll \n(34u*1u/4u
.if \n(.l<\n(81 .ll \n(81u
.in 0
Specify external JAX\-WS or JAXB binding files
.br
.di
.nr e| \n(dn
.nr e- \n(dl
..
.ec \
.eo
.am 81
.br
.di f+
.35
.ft \n(.f
.ll \n(34u*1u/4u
.if \n(.l<\n(81 .ll \n(81u
.in 0
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
.br
.di
.nr f| \n(dn
.nr f- \n(dl
..
.ec \
.eo
.am 80
.br
.di g+
.35
.ft \n(.f
.ll \n(34u*1u/4u
.if \n(.l<\n(80 .ll \n(80u
.in 0
\f2wsdllocation\fP
.br
.br
.di
.nr g| \n(dn
.nr g- \n(dl
..
.ec \
.eo
.am 81
.br
.di h+
.35
.ft \n(.f
.ll \n(34u*1u/4u
.if \n(.l<\n(81 .ll \n(81u
.in 0
The wsdl URI passed thru this option will be used to set the value of \f2@WebService.wsdlLocation\fP and \f2@WebServiceClient.wsdlLocation\fP annotation elements on the generated SEI and Service interface
.br
.br
.di
.nr h| \n(dn
.nr h- \n(dl
..
.ec \
.eo
.am 82
.br
.di i+
.35
.ft \n(.f
.ll \n(34u*1u/4u
.if \n(.l<\n(82 .ll \n(82u
.in 0
\f2\-wsdllocation\fP
.br
.br
.di
.nr i| \n(dn
.nr i- \n(dl
..
.ec \
.eo
.am 80
.br
.di j+
.35
.ft \n(.f
.ll \n(34u*1u/4u
.if \n(.l<\n(80 .ll \n(80u
.in 0
\f2catalog\fP
.br
.br
.di
.nr j| \n(dn
.nr j- \n(dl
..
.ec \
.eo
.am 81
.br
.di k+
.35
.ft \n(.f
.ll \n(34u*1u/4u
.if \n(.l<\n(81 .ll \n(81u
.in 0
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.
.br
.di
.nr k| \n(dn
.nr k- \n(dl
..
.ec \
.eo
.am 82
.br
.di l+
.35
.ft \n(.f
.ll \n(34u*1u/4u
.if \n(.l<\n(82 .ll \n(82u
.in 0
\f2\-catalog\fP
.br
.br
.di
.nr l| \n(dn
.nr l- \n(dl
..
.ec \
.eo
.am 80
.br
.di m+
.35
.ft \n(.f
.ll \n(34u*1u/4u
.if \n(.l<\n(80 .ll \n(80u
.in 0
\f2package\fP
.br
.br
.di
.nr m| \n(dn
.nr m- \n(dl
..
.ec \
.eo
.am 81
.br
.di n+
.35
.ft \n(.f
.ll \n(34u*1u/4u
.if \n(.l<\n(81 .ll \n(81u
.in 0
Specifies the target package
.br
.di
.nr n| \n(dn
.nr n- \n(dl
..
.ec \
.eo
.am 82
.br
.di o+
.35
.ft \n(.f
.ll \n(34u*1u/4u
.if \n(.l<\n(82 .ll \n(82u
.in 0
\f2\-p\fP
.br
.br
.di
.nr o| \n(dn
.nr o- \n(dl
..
.ec \
.35
.nf
.ll \n(34u
.nr 80 0
.nr 38 \w\f3Attribute\fP
.if \n(80<\n(38 .nr 80 \n(38
.nr 38 \w\f2wsdl\fP
.if \n(80<\n(38 .nr 80 \n(38
.nr 38 \w\f2destdir\fP
.if \n(80<\n(38 .nr 80 \n(38
.nr 38 \wsourcedestdir
.if \n(80<\n(38 .nr 80 \n(38
.nr 38 \w\f2keep\fP
.if \n(80<\n(38 .nr 80 \n(38
.nr 38 \w\f2verbose\fP
.if \n(80<\n(38 .nr 80 \n(38
.nr 38 \w\f2binding\fP
.if \n(80<\n(38 .nr 80 \n(38
.nr 38 \w\f2extension\fP
.if \n(80<\n(38 .nr 80 \n(38
.80
.rm 80
.nr 38 \n(g-
.if \n(80<\n(38 .nr 80 \n(38
.nr 38 \n(j-
.if \n(80<\n(38 .nr 80 \n(38
.nr 38 \n(m-
.if \n(80<\n(38 .nr 80 \n(38
.nr 81 0
.nr 38 \w\f3Description\fP
.if \n(81<\n(38 .nr 81 \n(38
.nr 38 \wWSDL file
.if \n(81<\n(38 .nr 81 \n(38
.81
.rm 81
.nr 38 \n(a-
.if \n(81<\n(38 .nr 81 \n(38
.nr 38 \n(b-
.if \n(81<\n(38 .nr 81 \n(38
.nr 38 \n(c-
.if \n(81<\n(38 .nr 81 \n(38
.nr 38 \n(d-
.if \n(81<\n(38 .nr 81 \n(38
.nr 38 \n(e-
.if \n(81<\n(38 .nr 81 \n(38
.nr 38 \n(f-
.if \n(81<\n(38 .nr 81 \n(38
.nr 38 \n(h-
.if \n(81<\n(38 .nr 81 \n(38
.nr 38 \n(k-
.if \n(81<\n(38 .nr 81 \n(38
.nr 38 \n(n-
.if \n(81<\n(38 .nr 81 \n(38
.nr 82 0
.nr 38 \w\f3Command line\fP
.if \n(82<\n(38 .nr 82 \n(38
.nr 38 \wWSDL
.if \n(82<\n(38 .nr 82 \n(38
.nr 38 \w\f2\-d\fP
.if \n(82<\n(38 .nr 82 \n(38
.nr 38 \w\f2\-s\fP
.if \n(82<\n(38 .nr 82 \n(38
.nr 38 \w\f2\-keep\fP
.if \n(82<\n(38 .nr 82 \n(38
.nr 38 \w\f2\-verbose\fP
.if \n(82<\n(38 .nr 82 \n(38
.nr 38 \w\f2\-b\fP
.if \n(82<\n(38 .nr 82 \n(38
.nr 38 \w\f2\-extension\fP
.if \n(82<\n(38 .nr 82 \n(38
.82
.rm 82
.nr 38 \n(i-
.if \n(82<\n(38 .nr 82 \n(38
.nr 38 \n(l-
.if \n(82<\n(38 .nr 82 \n(38
.nr 38 \n(o-
.if \n(82<\n(38 .nr 82 \n(38
.35
.nf
.ll \n(34u
.nr 38 1n
.nr 79 0
.nr 40 \n(79+(0*\n(38)
.nr 80 +\n(40
.nr 41 \n(80+(3*\n(38)
.nr 81 +\n(41
.nr 42 \n(81+(3*\n(38)
.nr 82 +\n(42
.nr TW \n(82
.if t .if \n(TW>\n(.li .tm Table at line 261 file Input is too wide - \n(TW units
.fc  
.nr #T 0-1
.nr #a 0-1
.eo
.de T#
.ds #d .d
.if \(ts\n(.z\(ts\(ts .ds #d nl
.mk ##
.nr ## -1v
.ls 1
.ls
..
.ec
.ta \n(80u \n(81u \n(82u 
.nr 31 \n(.f
.nr 35 1m
\&\h'|\n(40u'\f3Attribute\fP\h'|\n(41u'\f3Description\fP\h'|\n(42u'\f3Command line\fP
.ta \n(80u \n(81u \n(82u 
.nr 31 \n(.f
.nr 35 1m
\&\h'|\n(40u'\f2wsdl\fP\h'|\n(41u'WSDL file\h'|\n(42u'WSDL
.ne \n(a|u+\n(.Vu
.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v)
.ta \n(80u \n(81u \n(82u 
.nr 31 \n(.f
.nr 35 1m
\&\h'|\n(40u'\f2destdir\fP\h'|\n(41u'\h'|\n(42u'\f2\-d\fP
.mk ##
.nr 31 \n(##
.sp |\n(##u-1v
.nr 37 \n(41u
.in +\n(37u
.a+
.in -\n(37u
.mk 32
.if \n(32>\n(31 .nr 31 \n(32
.sp |\n(31u
.ne \n(b|u+\n(.Vu
.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v)
.ta \n(80u \n(81u \n(82u 
.nr 31 \n(.f
.nr 35 1m
\&\h'|\n(40u'sourcedestdir\h'|\n(41u'\h'|\n(42u'\f2\-s\fP
.mk ##
.nr 31 \n(##
.sp |\n(##u-1v
.nr 37 \n(41u
.in +\n(37u
.b+
.in -\n(37u
.mk 32
.if \n(32>\n(31 .nr 31 \n(32
.sp |\n(31u
.ne \n(c|u+\n(.Vu
.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v)
.ta \n(80u \n(81u \n(82u 
.nr 31 \n(.f
.nr 35 1m
\&\h'|\n(40u'\f2keep\fP\h'|\n(41u'\h'|\n(42u'\f2\-keep\fP
.mk ##
.nr 31 \n(##
.sp |\n(##u-1v
.nr 37 \n(41u
.in +\n(37u
.c+
.in -\n(37u
.mk 32
.if \n(32>\n(31 .nr 31 \n(32
.sp |\n(31u
.ne \n(d|u+\n(.Vu
.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v)
.ta \n(80u \n(81u \n(82u 
.nr 31 \n(.f
.nr 35 1m
\&\h'|\n(40u'\f2verbose\fP\h'|\n(41u'\h'|\n(42u'\f2\-verbose\fP
.mk ##
.nr 31 \n(##
.sp |\n(##u-1v
.nr 37 \n(41u
.in +\n(37u
.d+
.in -\n(37u
.mk 32
.if \n(32>\n(31 .nr 31 \n(32
.sp |\n(31u
.ne \n(e|u+\n(.Vu
.if (\n(e|+\n(#^-1v)>\n(#- .nr #- +(\n(e|+\n(#^-\n(#--1v)
.ta \n(80u \n(81u \n(82u 
.nr 31 \n(.f
.nr 35 1m
\&\h'|\n(40u'\f2binding\fP\h'|\n(41u'\h'|\n(42u'\f2\-b\fP
.mk ##
.nr 31 \n(##
.sp |\n(##u-1v
.nr 37 \n(41u
.in +\n(37u
.e+
.in -\n(37u
.mk 32
.if \n(32>\n(31 .nr 31 \n(32
.sp |\n(31u
.ta \n(80u \n(81u \n(82u 
.nr 31 \n(.f
.nr 35 1m
\&\h'|\n(40u'\f2extension\fP\h'|\n(41u'\h'|\n(42u'
.br
.ne \n(f|u+\n(.Vu
.if (\n(f|+\n(#^-1v)>\n(#- .nr #- +(\n(f|+\n(#^-\n(#--1v)
.ta \n(80u \n(81u \n(82u 
.nr 31 \n(.f
.nr 35 1m
\&\h'|\n(40u'\h'|\n(41u'\h'|\n(42u'\f2\-extension\fP
.mk ##
.nr 31 \n(##
.sp |\n(##u-1v
.nr 37 \n(41u
.in +\n(37u
.f+
.in -\n(37u
.mk 32
.if \n(32>\n(31 .nr 31 \n(32
.sp |\n(31u
.ne \n(g|u+\n(.Vu
.ne \n(h|u+\n(.Vu
.ne \n(i|u+\n(.Vu
.if (\n(g|+\n(#^-1v)>\n(#- .nr #- +(\n(g|+\n(#^-\n(#--1v)
.if (\n(h|+\n(#^-1v)>\n(#- .nr #- +(\n(h|+\n(#^-\n(#--1v)
.if (\n(i|+\n(#^-1v)>\n(#- .nr #- +(\n(i|+\n(#^-\n(#--1v)
.ta \n(80u \n(81u \n(82u 
.nr 31 \n(.f
.nr 35 1m
\&\h'|\n(40u'\h'|\n(41u'\h'|\n(42u'
.mk ##
.nr 31 \n(##
.sp |\n(##u-1v
.nr 37 \n(40u
.in +\n(37u
.g+
.in -\n(37u
.mk 32
.if \n(32>\n(31 .nr 31 \n(32
.sp |\n(##u-1v
.nr 37 \n(41u
.in +\n(37u
.h+
.in -\n(37u
.mk 32
.if \n(32>\n(31 .nr 31 \n(32
.sp |\n(##u-1v
.nr 37 \n(42u
.in +\n(37u
.i+
.in -\n(37u
.mk 32
.if \n(32>\n(31 .nr 31 \n(32
.sp |\n(31u
.ne \n(j|u+\n(.Vu
.ne \n(k|u+\n(.Vu
.ne \n(l|u+\n(.Vu
.if (\n(j|+\n(#^-1v)>\n(#- .nr #- +(\n(j|+\n(#^-\n(#--1v)
.if (\n(k|+\n(#^-1v)>\n(#- .nr #- +(\n(k|+\n(#^-\n(#--1v)
.if (\n(l|+\n(#^-1v)>\n(#- .nr #- +(\n(l|+\n(#^-\n(#--1v)
.ta \n(80u \n(81u \n(82u 
.nr 31 \n(.f
.nr 35 1m
\&\h'|\n(40u'\h'|\n(41u'\h'|\n(42u'
.mk ##
.nr 31 \n(##
.sp |\n(##u-1v
.nr 37 \n(40u
.in +\n(37u
.j+
.in -\n(37u
.mk 32
.if \n(32>\n(31 .nr 31 \n(32
.sp |\n(##u-1v
.nr 37 \n(41u
.in +\n(37u
.k+
.in -\n(37u
.mk 32
.if \n(32>\n(31 .nr 31 \n(32
.sp |\n(##u-1v
.nr 37 \n(42u
.in +\n(37u
.l+
.in -\n(37u
.mk 32
.if \n(32>\n(31 .nr 31 \n(32
.sp |\n(31u
.ne \n(m|u+\n(.Vu
.ne \n(n|u+\n(.Vu
.ne \n(o|u+\n(.Vu
.if (\n(m|+\n(#^-1v)>\n(#- .nr #- +(\n(m|+\n(#^-\n(#--1v)
.if (\n(n|+\n(#^-1v)>\n(#- .nr #- +(\n(n|+\n(#^-\n(#--1v)
.if (\n(o|+\n(#^-1v)>\n(#- .nr #- +(\n(o|+\n(#^-\n(#--1v)
.ta \n(80u \n(81u \n(82u 
.nr 31 \n(.f
.nr 35 1m
\&\h'|\n(40u'\h'|\n(41u'\h'|\n(42u'
.mk ##
.nr 31 \n(##
.sp |\n(##u-1v
.nr 37 \n(40u
.in +\n(37u
.m+
.in -\n(37u
.mk 32
.if \n(32>\n(31 .nr 31 \n(32
.sp |\n(##u-1v
.nr 37 \n(41u
.in +\n(37u
.n+
.in -\n(37u
.mk 32
.if \n(32>\n(31 .nr 31 \n(32
.sp |\n(##u-1v
.nr 37 \n(42u
.in +\n(37u
.o+
.in -\n(37u
.mk 32
.if \n(32>\n(31 .nr 31 \n(32
.sp |\n(31u
.fc
.nr T. 1
.T# 1
.35
.rm a+
.rm b+
.rm c+
.rm d+
.rm e+
.rm f+
.rm g+
.rm h+
.rm i+
.rm j+
.rm k+
.rm l+
.rm m+
.rm n+
.rm o+
.TE
.if \n-(b.=0 .nr c. \n(.c-\n(d.-63

.LP
.LP
The \f2binding\fP attributes is like a 
.na
\f2path\-like structure\fP @
.fi
http://ant.apache.org/manual/using.html#path and can also be set via nested \f2<binding>\fP elements, respectively. Before this task can be used, a \f2<taskdef>\fP element needs to be added to the project as given below:
.LP
.nf
\f3
.fl
  <taskdef name="wsimport" classname="com.sun.tools.ws.ant.WsImport">\fP
.br
\f3
.fl
      <classpath path="jaxws.classpath"/>\fP
.br
\f3
.fl
  </taskdef>
.fl
\fP
.fi

.LP
.LP
where \f2jaxws.classpath\fP is a reference to a 
.na
\f2path\-like structure\fP @
.fi
http://ant.apache.org/manual/using.html#path, defined elsewhere in the build environment, and contains the list of classes required by the JAX\-WS tools.
.LP
.SH "Examples"
.LP
.nf
\f3
.fl
  <wsimport\fP
.br
\f3
.fl
      \fP\f4destdir\fP\f3="${build.classes.home}"\fP
.br
\f3
.fl
      debug="true"\fP
.br
\f3
.fl
      wsdl="AddNumbers.wsdl"\fP
.br
\f3
.fl
      binding="custom.xml"/>
.fl
\fP
.fi

.LP
.LP
The above example generates client\-side artifacts for \f2AddNumbers.wsdl\fP, stores \f2.class\fP files in the \f2${build.classes.home}\fP directory using the \f2custom.xml\fP customization file. The classpath used is \f2xyz.jar\fP and compiles with debug information on.
.LP
.nf
\f3
.fl
  <wsimport\fP
.br
\f3
.fl
      keep="true"\fP
.br
\f3
.fl
      sourcedestdir="${source.dir}"\fP
.br
\f3
.fl
      \fP\f4destdir\fP\f3="${build.classes.home}"\fP
.br
\f3
.fl
      wsdl="AddNumbers.wsdl">\fP
.br
\f3
.fl
      <binding dir="${basedir}/etc" includes="custom.xml"/>\fP
.br
\f3
.fl
  </wsimport>
.fl
\fP
.fi

.LP
.LP
The above example generates portable artifacts for \f2AddNumbers.wsdl\fP, stores \f2.java\fP files in the \f2${source.dir}\fP directory, stores \f2.class\fP files in the \f2${build.classes.home}\fP directory.
.LP
.SH "Notes"
.LP
.LP
Summary of Changed and Removed wsimport ant attributes:
.LP
\f3base\fP replaced by \f3destdir\fP
.br

.LP
.br

.LP
\f3sourceBase\fP is replaced by \f3sourcedestdir\fP
.br

.LP
.br

.LP
\f3wsdlFile\fP is replaced by \f3wsdl\fP
.br
.br
\f3httpProxy\fP is removed. Use ant's setproxy task instead for proxy configuration.
.br
.br
\f3version\fP is removed
.br

.LP

.LP
 
