「Java开发指南」如何从WSDL搭建一个Spring服务?
本教程的重点是如何从现有的WSDL构建Web服务,实现的WSDL是来自Apache CXF文档的HelloWorldWSDL协议 的简化版本。在本教程中,您将学习如何:
- 导入WSDL协议
- 部署并运行web服务
注意:自定义Spring代码生成需要MyEclipse Spring或Bling授权。
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。

4. 接受默认的项目配置选项,然后单击Next。

5. 接受默认的JAX-WS设置,并单击Next。

6. 接受默认的Spring Capabilities设置,然后单击Next。

7. 接受应该添加到当前项目中库的默认设置,然后单击Next。

8. 在Summary页面上单击Finish,生成实现web服务所需的源代码。

二、审查生成的代码
Import Web Services向导通过生成与Web服务交互所需的Java类,帮助从应用程序内部使用外部SOAP Web服务。Import Web Services向导还通过从WSDL (SOAP Web服务协议)中提取服务的具体实现来帮助您实现服务协议(称为协议优先开发)。
默认情况下,源代码在生成文件夹中生成。由于该文件夹不存在,向导将创建该文件夹并将其设置为Eclipse源文件夹。生成的Java文件快照如下图所示,创建的所有构件都反映WSDL中的web服务定义。

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编辑器中打开该文件,可以看到每个服务操作都有一个方法,剩下唯一要做的就是用所需的功能实现该方法。

三、部署并运行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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
2021-03-26 手把手教你创建ASP.NET MVC Dashboard应用
2020-03-26 WPF应用界面开发技巧放送!DevExpress Breadcrumb控件
2019-03-26 独家!DevExpress VCL Controls 2019发展路线图(No.1)
2018-03-26 MyEclipse教程:使用UML创建模块库——第一部分(一)