根据wsdl生成webservice服务端(3种方式)

### 生成WebService服务端的方法详解 #### 前言 在日常开发中,通常是由开发团队构建WebService服务端,客户端则通过服务端提供的WS-Definition Language (WSDL) 文件生成客户端代理并进行交互。但有时也会遇到特殊情况,比如与特定企业合作时,对方可能仅提供WSDL文件,要求我们根据该文件生成服务端。本文将详细介绍三种基于WSDL生成WebService服务端的方法:使用`wsdl2java`命令、通过SOAPUI工具及借助MyEclipse的Web Service项目功能。 #### 方法一:使用`wsdl2java`命令生成 `wsdl2java`是Apache CXF提供的一个工具,用于根据WSDL文件自动生成Java代码。以下是详细步骤: 1. **配置环境**:确保已安装JDK 1.6及以上版本,并设置好环境变量。还需要下载Apache CXF 2.2.8并解压,将解压后的`bin`目录加入到PATH环境变量中,例如设置CXF_HOME环境变量指向Apache CXF的安装目录。 2. **执行命令**:打开命令行工具,进入Apache CXF的`bin`目录,运行以下命令: ```bash wsdl2java -d /path/to/output/directory -p com.example.webservice http://localhost:7001/aueic/webservice/HelloWorld?wsdl ``` 其中`-d`指定输出目录,`-p`指定生成的Java代码的包名,最后一个参数是WSDL文件的URL或本地路径。 3. **实现服务**:根据生成的接口实现具体的业务逻辑,例如实现`IHelloWorldImpl.java`中的方法。之后可通过各种方式部署服务,比如使用Spring框架或者直接嵌入到Servlet容器中。 #### 方法二:使用SOAPUI工具生成 SOAPUI是一款强大的测试工具,除了可以进行接口测试外,还能根据WSDL文件生成Java代码。以下是具体步骤: 1. **安装SOAPUI**:确保已安装SOAPUI 3.5.1版本。 2. **配置环境变量**:如果使用Apache CXF作为生成工具,则需将Apache CXF的`bin`目录配置到SOAPUI的工具变量中。 3. **创建新项目**:打开SOAPUI,新建一个项目,输入项目名称和WSDL文件的URL或本地路径。 4. **生成代码**:右键点击项目中的服务节点,选择“Generate Code”,然后选择Apache CXF作为生成工具,指定输出目录和包名。 5. **实现服务**:同方法一,实现生成的接口中的方法,并部署服务。 #### 方法三:使用MyEclipse的Web Service项目生成 MyEclipse是一款集成开发环境,内置了生成WebService项目的功能。以下是操作步骤: 1. **创建项目**:在MyEclipse中创建一个新的Web Service项目,例如命名为`helloworld`。 2. **生成代码**:在项目上右键选择“New”->“Web Service”,输入WSDL URL或选择本地WSDL文件,指定Java包路径等信息。 3. **实现服务**:在生成的项目中找到实现类,例如`HelloWorldImplPortImpl.java`,实现其中的方法。此外,项目中会自动生成配置文件如`sun-jaxws.xml`和`web.xml`,用于配置WebService服务。 4. **部署服务**:将项目发布到MyEclipse自带的Tomcat或其他Servlet容器中,并启动服务器。可以通过浏览器访问WSDL文件的URL来验证服务是否部署成功。 ### 总结 以上介绍了三种基于WSDL生成WebService服务端的方法,每种方法都有其特点和适用场景。`wsdl2java`命令简单直接,适用于命令行环境;SOAPUI工具则提供了图形界面,易于上手;而MyEclipse则集成了项目管理、代码生成等功能,更适合大型项目开发。开发者可根据实际需求选择合适的方法进行服务端的生成。




















剩余14页未读,继续阅读

- 砥砺前行go2017-11-14初步学习 了解了解

- 粉丝: 209
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- RelationGraph.vue
- ### 【计算机硬件】存储器实验详解:探索数字世界中的数据存储原理与实践存储器实验的过程
- FreeRTOS消息队列及内存池演示Demo
- FreeRTOS邮箱及内存池演示Demo
- flask app新增功能
- 2023年java实验报告8.doc
- (完整)数据库原理期末复习总结-推荐文档(1).pdf
- 2023年JAVA程序员如何提升核心竞争力.doc
- 国家开放大学电大《Windows网络操作系统管理》机考第五套标准试题及答案.docx
- 变尺度DFP算法MATLAB实例(可编辑修改word版).pdf
- 国际互联网网站建设合同范本专业版.doc
- 事业单位计算机专业考试真题试卷2套含答案名师资料汇编.doc
- PHotoshop(PS)快捷键大全(表格汇总-共4页-可打印).doc
- 测试策略安装卸载数据库.pptx
- 电商网站流程图.doc
- (完整版)基于单片机的对加热炉温度控制系统设计.doc


