Axis2介绍

Axis2是下一代 Apache Axis。Axis2 虽然由 Axis 1.x 处理程序模型提供支持,但它具有更强的灵活性并可扩展到新的体系结构。Axis2 基于新的体系结构进行了全新编写,而且没有采用 Axis 1.x 的常用代码。支持开发 Axis2 的动力是探寻模块化更强、灵活性更高和更有效的体系结构,这种体系结构可以很容易地插入到其他相关 Web 服务标准和协议(如 WS-Security、WS-ReliableMessaging 等)的实现中。

Apache Axis2 是Axis的后续版本,是新一代的SOAP引擎。

编辑本段主要特点

1)采用名为 AXIOM(AXIs Object Model)的新核心 XML 处理模型,利用新的XML解析器提供的灵活性按需构造对象模型。

2)支持不同的消息交换模式。目前Axis2支持三种模式:In-Only、Robust-In和In-Out。In-Only消息交换模式只有SOAP请求,而不需要应答;Robust-In消息交换模式发送SOAP请求,只有在出错的情况下才返回应答;In-Out消息交换模式总是存在SOAP请求和应答。

3)提供阻塞和非阻塞客户端 API。

4)支持内置的 Web服务寻址 (WS-Addressing) 。

5)灵活的数据绑定,可以选择直接使用 AXIOM,使用与原来的 Axis 相似的简单数据绑定方法,或使用 XMLBeans、JiBX 或 JAXB 2.0 等专用数据绑定框架。

6)新的部署模型,支持热部署。

7)支持HTTP,SMTP,JMS,TCP传输协议。

8)支持REST (Representational State Transfer)。

编辑本段方式比较

其中前面两种都是从基本的代码开始写起的.后面三种是从WSDL生成代码框架.

Deploying POJOs

(Plain Old Java Objects)

JavaBean类需满足JavaBean规范,如采用标准的setter/getter方法设置成员变量.POJO只是普通的java类.可以认为,JavaBean类都是是POJO,但POJO类未必是JavaBean!

Building the service using AXIOM

需要我们在代码中,获取XML利用STAX进行获取相关返回值,和创建消息等.是一个比较底层的创建方式.比POJOS复杂.

SAX实际上是定义了一个拉式(pull)的xml解析器。 一般的解析xml是通过DOM或SAX形式。

DOM的问题是需要一次性读入整个XML,对于大型的xml效率低。STAX是基于事件, 当读取到文档的某个位置会触发到某个事件。而这个读取过程是不受控的, 就是必须一次读完(对这个不熟悉)。这就是所谓推(push)式的。即把整个文件推给client。

STAX也是类似于SAX的事件,但是是由client的next()来控制指针的前进, 是把文件的内容pull出来的。这大大增强了客户端的控制能力,例如写入和修改节点。

SAX:Simple API for XMLStAX(Streaming API for XML)是标准的XML处理API,它能够从应用程序的stream对象解析XML数据或把XML数据转换成stream对象。STAX是一个用Java实现的XML拉式解析器

Generating the service using ADB

(Axis2 Databinding Framework )

Generating the service using XMLBeans

XMLBean是Apache的一个开源项目,以如果有一个类似的工具能够实现将对XML的读写转成对JavaBean的操作,将会简化XML的读写,即使对XML不熟悉的开发人员也能方便地读写XML. 这个工具就是XMLBean.

Generating the service using JiBX (JiB

JiBX是一个为Java提供的XML数据绑定框架。它可以和现存的类一起运行,使用一个灵活的映射定义文件来决定如何将数据对象转换成XML


您还没有登录,请先 登录或者 注册后,添加评论