### Java2WSDL和WSDL2Java操作指南 #### 一、引言 在Web服务领域,Java2WSDL 和 WSDL2Java 是两个非常重要的工具,它们分别用于从Java类生成WSDL文件以及从WSDL文件生成Java类。本文将详细介绍这两个工具的使用方法及其参数说明,并提供一个具体的示例。 #### 二、Java2WSDL概述 Java2WSDL 工具用于根据Java类自动生成WSDL文件。这对于想要快速创建Web服务接口的开发者来说非常有用。生成的WSDL文件包含了服务的完整描述,包括接口定义、消息格式、数据类型等。 **基本步骤:** 1. **定位Java类:** 首先确定Java类所在的文件夹位置。 2. **执行命令:** 在命令行中使用`java org.apache.axis.wsdl.Java2WSDL`命令,加上必要的参数。 **命令示例:** ```bash D:\Tomcat\webapps\axis\WEB-INF\classes>java org.apache.axis.wsdl.Java2WSDL -o Capacity.wsdl -l http://localhost:8080/axis/services/Capacity -n urn:Capacity -p samples.capacity=urn:Capacity samples.capacity.Capacity ``` **参数说明:** - `-o <filename>`: 指定输出的WSDL文件名。 - `-l <url>`: 指定Web服务的URL。 - `-n <namespace>`: 指定命名空间。 - `-p <package>=<namespace>`: 指定包名到命名空间的映射。 - `<classname>`: 要转换的Java类名。 #### 三、WSDL2Java概述 WSDL2Java 工具的作用正好与Java2WSDL相反,它是从现有的WSDL文件生成Java类。这通常用于客户端程序,以便能够调用Web服务提供的接口。 **基本步骤:** 1. **定位WSDL文件:** 确定WSDL文件的位置。 2. **执行命令:** 使用`java org.apache.axis.wsdl.WSDL2Java`命令,加上必要的参数。 **命令示例:** ```bash D:\Tomcat\webapps\axis\WEB-INF\classes>java org.apache.axis.wsdl.WSDL2Java -o . -d Session -s -t -S true -N urn:Capacity samples.capacity Capacity.wsdl ``` **参数说明:** - `-o <directory>`: 指定输出文件的目录。 - `-d <scope>`: 指定发布范围。 - `-s`: 生成服务器端绑定代码。 - `-t`: 生成JUnit测试用例。 - `-S <bool>`: 是否生成部署和取消部署文件。 - `-N <namespace>`: 指定命名空间。 - `<wsdlfile>`: 指定WSDL文件名。 #### 四、示例代码 下面是一个简单的客户端示例,展示如何使用生成的Java类调用Web服务。 **代码示例:** ```java package samples.capacity; public class Client { public static void main(String[] args) throws Exception { if (args.length == 0) { System.err.println("please input one arg: the endPointAddress"); System.exit(1); } CapacityService service = new CapacityServiceLocator(); CapacitySoapBindingStub stub = (CapacitySoapBindingStub) service.getCapacity(new java.net.URL(args[0])); Double d = stub.convertGallon2Litre(10.0); System.out.println("Converted 10 gallons to " + d + " litres."); } } ``` **解析:** 1. **初始化服务:** 使用`CapacityServiceLocator`获取服务实例。 2. **创建stub:** `CapacitySoapBindingStub`是实际调用Web服务的方法所在类。 3. **调用方法:** `convertGallon2Litre`是服务提供的方法之一,用于将加仑转换为升。 通过上述步骤和示例,可以清晰地理解Java2WSDL 和 WSDL2Java 的使用方式以及如何利用这些工具快速开发Web服务和客户端应用。
剩余8页未读,继续阅读
- bastlink2013-05-07很 详细 不错
- tonnydry2013-10-15不错哦 可以用
- 粉丝: 0
- 资源: 5
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于JavaScript的在线考试系统(编号:65965158)(1).zip
- 五相电机双闭环矢量控制模型-采用邻近四矢量SVPWM-MATLAB-Simulink仿真模型包括: (1)原理说明文档(重要):包括扇区判断、矢量作用时间计算、矢量作用顺序及切时间计算、PWM波的生成
- Linux下的cursor安装包
- springboot-教务管理系统(编号:62528147).zip
- 3dmmods_倾城系列月白_by_白嫖萌新.zip
- SVPWM+死区补偿(基于电流极性)+高频注入法辨识PMSM的dq轴电感(离线辨识)-simulink
- 微信跑腿小程序的设计与实现
- 基于 Java 实现的上位机通讯程序,可与单片机进行数据交换
- screentshot-2024.12.22-20.45.35.jpg
- 基于c51单片机,汇编语言实现的时钟,有仿真电路图