本教程的重点是如何从现有的WSDL构建Web服务,实现的WSDL是来自Apache CXF文档的HelloWorldWSDL协议 的简化版本。在本教程中,您将学习如何:
- 导入WSDL协议
- 部署并运行web服务
注意:自定义Spring代码生成需要MyEclipse Spring或Bling授权。
MyEclipse v2023.1.2离线版下载MyEclipse技术交流群:742336981 欢迎一起进群讨论
一、 导入HelloWorld Web服务协议
当设计由多个使用web服务相互通信的应用程序组成的系统时,通常使用协议优先开发作为定义系统之间处理消息的一种方法,这包括识别服务操作和输入/输出参数。这被称为协议,它是使用WSDL文档定义的,服务消费者和生产者使用WSDL文档作为协议。
MyEclipse可以通过导入WSDL来实现web服务协议,当然这与为了消费服务而发现Web服务式不同的。
1. 创建取名为HelloWorldApp的全新MyEclipse Web项目。
2. 右键单击该项目,然后选择MyEclipse>Import WSDL。
添加一个新类3. 在WSDL Location字段中添加以下WSDL URL:http://www.skywayperspectives.org/documentation/me4s90/wsdl/helloworld.wsdl,在Target Package字段中输入org.helloworld,然后点击Next。
导入WSDL URL4. 接受默认的项目配置选项,然后单击Next。
配置选项5. 接受默认的JAX-WS设置,并单击Next。
配置选项6. 接受默认的Spring Capabilities设置,然后单击Next。
添加Spring功能7. 接受应该添加到当前项目中库的默认设置,然后单击Next。
运行时依赖关系8. 在Summary页面上单击Finish,生成实现web服务所需的源代码。
摘要页二、审查生成的代码
Import Web Services向导通过生成与Web服务交互所需的Java类,帮助从应用程序内部使用外部SOAP Web服务。Import Web Services向导还通过从WSDL (SOAP Web服务协议)中提取服务的具体实现来帮助您实现服务协议(称为协议优先开发)。
默认情况下,源代码在生成文件夹中生成。由于该文件夹不存在,向导将创建该文件夹并将其设置为Eclipse源文件夹。生成的Java文件快照如下图所示,创建的所有构件都反映WSDL中的web服务定义。
从WSDL生成Java文件org.apache.hello_world_soap_http.type包包含为WSDL实体生成的源代码,包的名称基于WSDL中指定的目标命名空间。
org.helloworld包包含生成的Spring服务接口、Spring服务实现(Spring @Service)和Junit测试。
org.helloworld.jaxws包包含生成的服务端点接口和服务客户端,服务端点接口应该有一个用于web服务操作的Java方法。
本教程关注的是根据WSDL实现web服务,而GreeterImpl.java是实现服务操作的Spring Service,在Java编辑器中打开该文件,可以看到每个服务操作都有一个方法,剩下唯一要做的就是用所需的功能实现该方法。
从WSDL生成Java文件三、部署并运行Web服务
在实现服务方法之后,可以部署web项目并测试服务。
注意:您可以在不实现服务方法的情况下执行以下步骤,但是当您打开Web服务资源管理器时,将找不到要测试的服务。
- 右键选择该项目,然后选择Run As>MyEclipse Server Application,再选择MyEclipse Tomcat服务器。
- 部署完应用程序后,切换到JAX-WS Annotations视图,并Java编辑器中打开GreeterImpl.java 文件 (org.helloworld package) 。
- 单击JAX-WS Annotations视图中的Open Web Service Explorer链接。这将在Web服务资源管理器中打开WSDL,可用于测试Web服务。如果您想在另一个测试工具中测试服务,则WSDL URL为:http://localhost:8080/HelloWorldApp/jaxws/IGreeterEndpoint?wsdl