Last Modified: 12/14/05
wsimport
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.
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.
Command-line
Syntax
wsimport [options] <wsdl>
The following table lists the wsimport options.
Table 1-1 wsimport Options
| Option | Description |
|---|---|
| | Specify where to place generated output files |
| | Specify external JAX-WS or JAXB binding files (Each |
| -catalog | 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 wsimport_catalog sample. |
| | 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 |
| | Display help |
| | Specify an HTTP proxy server (port defaults to 8080) |
| | 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 |
| | Specify where to place generated source files |
| | Output messages about what the compiler is doing |
| | Print version information |
-wsdllocation <location> | @WebService.wsdlLocation and @WebServiceClient.wsdlLocation value |
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.
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:
<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"
<binding dir="..." includes="..." />
</wsimport>
| 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.wsdlLocationand @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 <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.
Examples
<wsimport
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.
<wsimport
keep="true"
sourcedestdir="${source.dir}"
destdir="${build.classes.home}"
wsdl="AddNumbers.wsdl">
<binding dir="${basedir}/etc" includes="custom.xml"/>
</wsimport>
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.
Summary of Changed and Removed wsimport ant attributes
httpProxy is removed. Use ant's setproxy task instead for proxy configuration.
version is removed
本文介绍了如何使用wsimport工具生成JAX-WS端点接口、异常类、异步响应组件及Java类型,以及如何通过命令行或Ant任务进行配置与操作。
1446

被折叠的 条评论
为什么被折叠?



