Java Web Service

Java Web Service

[email protected]

2015年7月16日

 

1 目标:提供方法共享,由网络进行交互。

其它的网站或应用在线调用。

网站或应用可以专注于核心功能,而其它功能使用web服务。

2 原理:服务器提供WEB服务与客户端使用SOAP协议交互,HTTP通信。

SOAP协议交互:XML交互协议,使用HTTP通信,交互XML数据,JAX-WS为标准,AXIS、CXF实现。

Restful:SOAP的简化版本,简单的网络访问理念,使用HTTP通信,交互HTTP请求,JAX-RS为标准,CXF实现。

WEB服务:Java实现。

HTTP通信:Tomcat。

为了解耦web服务与传输方法,AXIS、CXF与HTTP是独立设计的。

WSDL提供xml格式的使用说明。

3 流程:客户端发起Http请求(根据协议(soap,restful)携带数据),Http服务器处理Http请求,使用Web服务协议(JAX-WS、JAX-RS)将请求与Java进行映射,由Java服务处理请求,使用Web服务协议将响应与Http进行映射,返回给HTTP服务器,再发送到客户端,客户端直接使用(restful)或再反射为Java代理。

4 方法:CXF,AXIS。

参考:http://www.widecodes.com/0SxeqjPWqj/cxf-vs-axis-big-xml-over-soap.html

http://5148737.blog.51cto.com/5138737/1604472

4.1 方法:CXF(推荐),功能最强大,使用简单,开发效率高,直接与Spring结合。

目标:将HTTP协议与SOAP协议互换,提供Servlet进行服务,生成soap响应。

原理:CXF生成框架(提供将标准POJO转换为servlet,以及SOAP协议转换功能),只需提供POJO服务。

方法:CXF+Spring+Tomcat

参见:Java-webservice-CXF.docx

4.2 AXIS:配置复杂

AXIS1,AXIS2:比较早的web服务实现,AXIS1功能简单,使用也较简单,但06年之后不再更新。Axis2虽然功能有加强,但操作太过复杂,文档也比较乱(CXF的一项特性就是:容易使用)。

目标:进行web服务的SOAP规范实现。

4.2.1方法:AXIS1的使用方法。

发布WEB服务:将axis文档copy到tomcat。将服务.java文件更名为.jws(不要使用包,使用包的配置更麻烦)放到axis下。

发送WEB请求:http://localhost:8080/axis/HelloService.jws?method=sayHello&parameter=xx

处理WEB响应:axis应用下的jws类。

4.2.2方法:AXIS2使用方法

参考:http://blog.csdn.net/ghsau/article/details/12714965

你可能感兴趣的:(Web,javaee,service,CXF,web服务,axis)