### 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服务和客户端应用。
- bastlink2013-05-07很 详细 不错
- tonnydry2013-10-15不错哦 可以用
- 粉丝: 0
- 资源: 5
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- (源码)基于C语言的系统服务框架.zip
- (源码)基于Spring MVC和MyBatis的选课管理系统.zip
- (源码)基于ArcEngine的GIS数据处理系统.zip
- (源码)基于JavaFX和MySQL的医院挂号管理系统.zip
- (源码)基于IdentityServer4和Finbuckle.MultiTenant的多租户身份认证系统.zip
- (源码)基于Spring Boot和Vue3+ElementPlus的后台管理系统.zip
- (源码)基于C++和Qt框架的dearoot配置管理系统.zip
- (源码)基于 .NET 和 EasyHook 的虚拟文件系统.zip
- (源码)基于Python的金融文档智能分析系统.zip
- (源码)基于Java的医药管理系统.zip