简单web服务开发(JWS,CXF,AXIS)
(一)利用JWS开发web服务
开发Web服务器端:
1.定义接口HelloWorld,使用@WebService注解修饰接口名,使用@WebMethod修饰需要对外发布的方法。
2.HelloWorld接口实现类
3.发布类HelloWorldService
4.编译运行HelloWorldService 类之后查看WSDL文档http://localhost:8080/ HelloWorld?wsdl
客户端代码:
1.生成客户端所需要的文件
新建工程WebServerClient,进入工程的src目录,在DOS窗口输入:wsimport -keep http://localhost:8080/HelloWorld?wsdl动态生成客户端需要的文件。wsimport是JDK1.6自带的命令。
2.编写客户端代码并调用
调用代理中的sayHello()方法,接收到hello,likeyu
(二)利用CXF开发web服务
1.利用CXF开发Web Service服务端:
- 准备开发需要的jar包
2.开发webservice接口
3.编写Web服务接口的实现
4.暴露Web Service的函数,运行函数暴露Web Service:
2.使用CXF开发Web Service客户端
3.在客户端编写测试代码并运行
题目(一):3.利用axis开发web服务
1.Apache Axis下载和安装
2.编写服务
3.发布服务
4.测试方法和运行结果
错误总结:
- 进行axis2项目测试的时候,首先是生成的.class文件无法运行,后来重新独立的项目代码,把package去掉,在命令行中编译,再把.class文件移动到pojo中,就正确的显示正确了。
- 进行cxf项目测试时,因为版本问题,新生成的客户端调用代码不能够按照预想的直接去调用sayhello方法,后来通过查看wsdl文档和通过wsdl2新生成项目文件,在调用方法时,新增加了一个getHelloWorldPort方法后成功调用
- Axis2项目测试的最后是使用pojo方法,但是在实际操作的时候,在Apache网页中调用方法,参数传递一直存在问题,一直用?name=likeyu传递参数去使用,后来也是通过点开查看xml文件,尝试去使用文件中标注的name=args,即?args=likeyu,发现参数传递成功,测试完成。