[转载]WSImport生成WSDL的Java客户端代码

Java与WCF交互(一)补充:用WSImport生成WSDL的Java客户端代码

在《Java与WCF交互(一):Java客户端调用WCF服务》一文中,我描述了用axis2的一个Eclipse控件生成WCF的Java客户端代理类,后来有朋友建议用Xfire、CXF,一直没有尝试,今天有朋友指出JDK6可以用java自带的一个WSImport工具,试了下,果然很爽,这是一个exe文件,位于%JAVA_HOME%\bin下,它的官方使用说明,见:http://download-llnw.oracle.com/javase/6/docs/technotes/tools/share/wsimport.html,主要参数:

Option


Description

-d <directory>



Specify where to place generated output files

-b <path>



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

-B <jaxbOption>



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:<host>:<port>



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



Specify where to place generated source files

-verbose



Output messages about what the compiler is doing

-version



Print version information

-wsdllocation <location>

@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

示例:wsimport -s JavaSrc http://stockquote.xyz/quote?wsdl

将在当前路径的JavaSrc下生成相关的Java类,直接复制到项目的Src目录下即可使用。
下面还是以上次创建的http://localhost:8000/HelloTimeService?wsdl为类,测试过程如下:
邀月工作室

邀月工作室

新建一java Project,如图:
邀月工作室

将上面生成的java文件复制到Src目录下,项目结构如图:
邀月工作室

测试代码也很简洁:

邀月工作室

小结:这种方式与Axis2生成的Stub方式其实非常类似,只不过没有生成测试代码。结构还算清晰。
转载自博客园:http://www.cnblogs.com/downmoon/archive/2010/08/29/1811689.html
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值