最近学习了如何使用apache cxf和Spring发布webservice,虽然网上的资料很多,但是没有一个文档可以让读者按照操作步骤来实现完整的发布流程,都需要多篇文件杂合在一起,互相参考才可以完成第一个HelloWorld形式的Webservice。现在将我利用apache cxf和Spring发布webservice的详细的发布过程记录下来,以供后来者参考。
环境信息如下:
JDK1.5.15
Tomcat5.5.26
Spring2.5.5
apache-cxf-2.2.4
具体实现步骤如下:
(1)使用IDE建立WEB工程cxfservice
工程目录结构如下:
其中的WEB-INF/lib目录下的jar包为直接将apache-cxf-2.2.4.zip下载包中的apache-cxf-2.2.4/lib目录下的全部的jar,在学习过程中这种办法是最简单的了。
当然我们也可以用最少的Jar包来完成本实例的任务,首先要将cxf的依赖包加入,包括如下一些jar包:
再就是Spring的包了,包括如下一些
最后就是apache cxf本身的包了
(2)配置文件说明
applicationContext.xml文件的内容如下:
services.xml文件的内容如下:
web.xml文件的内容如下:
(3)发布的HelloWord服务说明
要发布的HelloWorld服务的接口定义文件com.cxf.test.interfaces.HelloWorld:
要发布的HelloWorld服务的接口实现类com.cxf.test.interfaces.HelloWorldImpl:
findUsers()接口返回的参数对象定义文件com.cxf.test.interfaces.ListObject:
UserDTO instancUser(Integer id, String name)接口返回的对象定义文件com.cxf.test.interfaces.UserDTO:
(4)将WEB工程发布到Tomcat下作为一个WEB应用,webContext为cxfservice,Port为9000
启动Tomcat后,以如下方式访问http://localhost:9000/cxfservice/services/HelloWorld?wsdl即可看到我们发布的Webservices服务HelloWorld了。在浏览器中将看到的WSDL文件另存为HelloWorld.xml即为发布的Webservice的WSDL文件。后续的调用过程与其它的操作方式完全相同。