简单web服务开发(JWS,CXF,AXIS)

拟墨画扇 提交于 2020-05-07 18:41:33

(一)利用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服务端:

    1. 准备开发需要的jar包

 

 

      2.开发webservice接口

 

 

      3.编写Web服务接口的实现

 

 

      4.暴露Web Service的函数,运行函数暴露Web Service:

 

 

 

2.使用CXF开发Web Service客户端

 

 

3.在客户端编写测试代码并运行

 

 

题目(一):3.利用axis开发web服务

1.Apache Axis下载和安装

 

 

 

 

 

2.编写服务

 

 

3.发布服务

 

 

4.测试方法和运行结果

 

 

 

错误总结:

  1. 进行axis2项目测试的时候,首先是生成的.class文件无法运行,后来重新独立的项目代码,把package去掉,在命令行中编译,再把.class文件移动到pojo中,就正确的显示正确了。
  2. 进行cxf项目测试时,因为版本问题,新生成的客户端调用代码不能够按照预想的直接去调用sayhello方法,后来通过查看wsdl文档和通过wsdl2新生成项目文件,在调用方法时,新增加了一个getHelloWorldPort方法后成功调用
  3. Axis2项目测试的最后是使用pojo方法,但是在实际操作的时候,在Apache网页中调用方法,参数传递一直存在问题,一直用?name=likeyu传递参数去使用,后来也是通过点开查看xml文件,尝试去使用文件中标注的name=args,即?args=likeyu,发现参数传递成功,测试完成。
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!