项目中用到web service,于是研究了二天,下面根据这二天用到的总结一下,当然最多的还是根据apache cxf官网文档http://cxf.apache.org 看文档,当然也不是都看,只看了自己需要的。
基础知识学习—— Hello Demo
Hello Demo开始了!
第一,新建HelloDemo Web 项目 导入jar包。jar包从http://cxf.apache.org下载。
第二,新建接口IHello.java及其实现类,包为:test.hello 代码如下:
接口:IHello.java
实现类:HelloImpl.java
在此理解两个注解 @WebService @WebParam 可以看API,@WebService说明是一个web 服务,参数targetNamespace 指名命名空间,注意接口与实现类命名空间必须是一致的,如果不是一致会报错。
第三,在WEB-INF下新建beans.xml 代码如下:
第四,配置 web.xml 主要是配置cxf的 servlet 如下:
第五,部署到tomcat测试!
如果用apache-cxf-2.1.8 的jar,可能会报错,缺少jar包,ant-launcher-1.6.5.jar 可以到http://www.jarfinder.com 下载该包。
启动tomcat 如果没有错,打开http://127.0.0.1:8080/HelloDemo/ws/hello?wsdl 查看是否生成了wsdl wsdl如下:
再测试 http://127.0.0.1:8080/HelloDemo/ws/hello/sayHello?name=lingdes 是否成功,显示如下:
如果显示成功,于是证明web service 的服务器端部署成功,web service的构建与发布成功!
第六,编写web service 客户端
(1) 新建java项目 HelloDemoClient 导入jar包。
(2) 新建接口,同IHello.java 代码如下:
(2)、新建文件夹WEB-INF, 同时新建beans.xml 文件 ,代码如下:
(3) 新建client 如下:
(4) 测试 在打开服务的前提下测试,即tomcat 启动 然后测试,测试如下就是正确的了。
Hello lingdes
到此,一个Java web service 的 HelloDemo 就完成了。
当然,还有在只知道 wsdl地址去调用web 服务,可以使用动态客户端。参考官网文档: http://cxf.apache.org/docs/dynamic-clients.html
上面是利用spring的方法编写,当然也可以利用factory的来编写。