- 确定Java版本在1.6以上;
- 调用wsimport工具,如下:
wsimport -d D:\temp -keep -verbose a.wsdl wsimport -d D:\temp -keep -verbose http://127.0.0.1:8080/hello?wsdl wsimport 命令解释: -d <directory> 指定放置生成的输出文件的位置 -encoding <encoding> 指定源文件所使用的字符编码 -extension 允许供应商扩展 - 不按规范 指定功能。使用扩展可能会 导致应用程序不可移植或 无法与其他实现进行互操作 -help 显示帮助 -httpproxy:<host>:<port> 指定 HTTP 代理服务器 (端口默认为 8080) -keep 保留生成的文件 -p <pkg> 指定目标程序包 -quiet 隐藏 wsimport 输出 -s <directory> 指定放置生成的源文件的位置 -target <version> 按给定的 JAXWS 规范版本生成代码 默认为 2.2, 接受的值为 2.0, 2.1 和 2.2 例如, 2.0 将为 JAXWS 2.0 规范生成兼容的代码 -verbose 有关编译器在执行什么操作的输出消息 -version 输出版本信息 -wsdllocation <location> @WebServiceClient.wsdlLocation 值 -clientjar <jarfile> 创建生成的 Artifact 的 jar 文件以及 调用 Web 服务所需的 WSDL 元数据。 -generateJWS 生成存根 JWS 实现文件 -implDestDir <directory> 指定生成 JWS 实现文件的位置 -implServiceName <name> 生成的 JWS 实现的服务名的本地部分 -implPortName <name> 生成的 JWS 实现的端口名的本地部分
将生成的文档导入到工程中,如下:
编写客户端如下:
public class Test{
public static EntInfoService getEntInfoService() throws MalformedURLException {
URL url = new URL(FescoUtils.WSDL_URL1);
EntInfoServiceService service = new EntInfoServiceService(url);
EntInfoService entInfoService = service.getEntInfoServicePort();
return entInfoService;
}
public static void main(String args[]){
getEntInfoService().hello();
}
}