`
enjiex
  • 浏览: 67919 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

axis2学习——axis2消息处理机制

阅读更多
上一篇文章中写了关于axis2服务器的安装及启动以及axis2管理工具的简单介绍,现在我们已经对axis2有了简单的认识。下面我会一步步揭开axis2的面纱,并开始构建一个自己的axis2服务。

为了更好的理解axis2,我们首先看web services的消息生命周期的概念。通常,消息的生命周期如下图:


消息发送者应用创建原始的SOAP消息——由相应的消息头和消息体组成的xml文件,一旦消息准备完毕,就会把这些消息通过HTTP、JMS等方式发送出去。如果axis2加载了其他的WS-*模块,那么在发送之前会使用这些模块对消息做相应的处理。消息达到接收者一方,会被接收者的监听端口所接收,并对消息做一定的处理,然后转化到消息处理逻辑。

那么axis2是如何处理消息的呢?

Axis2的消息发送端或者接收端可以以事务的方式来处理,从Axis2的角度看,其结构如下:


在任一端,都有一个应用用来处理(发送或者接收)消息,而消息在由发送者真正发出之前或者由接收者初始接收之后,都可以配置一系统handlers对消息进行处理。Web services的价值就是对于发送者或者接收者来说,他们不必在同一平台,更不需要在一个应用系统中。假设Axis2已经运行在发送者或接收者两端,那么处理过程如下:
  • 发送者创建SOAP消息
  • Axis对消息处理一些必要的操作(由handler部分完成),例如加密等
  • Transport sender发送消息
  • 在另一端,Transport listener检测消息
  • Transport listener把检测到的消息传递给handlers
  •      一旦消息进入 "pre-dispatch"阶段,被处理过的消息就会被发送到具体的应用处理者那里进行业务的处理。

在axis2中,上面这些操作被分隔成不同的phases,例如"pre-dispatch", "dispatch", "message processing"等。每个phase都是一系列handler的集合。你可以控制哪些handler出现在哪里phase里,以及这里handler的执行顺序,开发者也可以定义自己的handler及phase并加入到上面的过程中。
Axis2中内置的一些module里的handlers也可以加入到上面的处理流程中。
分享到:
评论

相关推荐

    axis2学习——客户端的开发

    这篇博客"axis2学习——客户端的开发"主要探讨了如何使用Axis2来创建和操作Web服务的客户端。 首先,让我们了解什么是Apache Axis2。Axis2是Axis1的下一代版本,它提供了更高效、更灵活的服务框架。它是基于模块化...

    axis2学习——开发自定义的axis2服务

    标题中的“axis2学习——开发自定义的axis2服务”表明了本文主要涉及Apache Axis2框架,这是一个用于构建Web服务和SOA(Service-Oriented Architecture)应用的开放源码平台。Axis2允许开发者创建、部署和管理服务,...

    Axis2精简包——小弟花了半个多小时整的,最后一看还有40M

    2. **性能优化**:Axis2使用内存映射和多线程处理,以提高消息处理速度和系统效率。 3. **多种传输机制**:支持HTTP、HTTPS、JMS等多种传输协议,适应不同环境的需求。 4. **集成WS-*规范**:包括WS-Security、WS-...

    webservice axis2 cxf jar包及简单实例

    本文将深入探讨两种流行的Java Web服务框架——Axis2和CXF,并提供一个简单的实例来帮助理解它们的工作原理和使用方法。 首先,让我们了解一下`Axis2`。Axis2是Apache软件基金会开发的一个高性能、灵活且可扩展的...

    Axis2 1.5.5jar包

    2. **消息传递架构**:Axis2基于一种称为Axis2 Message Context(MC)的架构,它是处理Web服务消息的核心。MC存储了消息的所有元数据和实体内容,使得处理和传递消息变得简单。 3. **服务组件模型**:Axis2支持两种...

    WebService之Axis2经典教程

    2. **部署服务**: 在`axis2.xml`中配置服务,或者使用更简单的方式——无需任何配置文件即可部署服务。 3. **客户端调用**: 使用Java或.NET客户端调用部署好的Web服务。 **4.2 示例代码** - **服务端代码**: ```...

    axis2服务端源码,带用户身份认证

    Rampart提供了对SOAP消息进行加密、签名、用户认证等功能,它是Axis2安全功能的核心。在用户身份认证方面,Rampart支持WS-Security中的X.509证书、用户名令牌、Kerberos等认证机制。开发者可以根据项目需求选择合适...

    webServices学习之一——axis1实现helloWorld

    Web服务在IT行业中扮演...尽管Axis1可能已经有些过时,但其背后的原理对于理解Web服务的机制仍然非常有价值。随着技术的发展,如RESTful API的流行,理解SOAP和Axis1可以帮助我们更好地理解和适应各种Web服务解决方案。

    axis2教程word文件

    Axis2提供了会话管理机制,能够跨请求保持用户的状态信息,这对于构建复杂的交互式应用具有重要意义。 ##### 6. **跨服务会话管理** 除了单个服务内的会话管理,Axis2还支持跨服务的会话共享,这在微服务架构中尤...

    Java远程通信技术——Axis实战.doc

    【Java远程通信技术——Axis实战】 在互联网时代,网络通信技术是软件开发不可或缺的一部分。TCP/IP和UDP/IP作为底层传输协议,承载了大部分网络数据,而HTTP协议则在此基础上提供了超文本传输。Java中,有多种远程...

    Axis2服务端wsimport客户端代码.zip

    描述中提到,这个压缩包包含的代码与Axis2服务端和wsimport客户端有关,并提供了进一步学习的资源——一个CSDN博客文章链接(https://blog.csdn.net/aqsunkai/article/details/51711087)。该博客文章可能详细解释了...

    Accelerating Web Services Development with Axis2

    这促使了Apache软件基金会与WSO2合作,共同研发出新一代的SOAP引擎——Axis2。 #### 动力所在 - **Web服务格局变化**:随着新的Web服务标准如WS-A、WS-RM的引入,需要一个更加灵活、兼容的引擎来适应这些变化。 - ...

    Axis2 eclipse插件jar包

    它还提供了高级特性,如消息传输优化机制(MTOM)和SwA(Soap with Attachments)来处理二进制数据,以及WS-Security等安全标准。 在压缩包子文件的文件名称列表中,“Axis2插件包”可能是包含插件安装所需的所有...

    WebService大讲堂之Axis2.pdf

    - **文件选择**:提供两种主要的安装包——`axis2-1.4.1-bin.zip`和`axis2-1.4.1-war.zip`。前者包含了所有必要的JAR文件;后者则用于在Web容器中部署Web服务。 - **安装步骤**:解压缩`.war`文件至Tomcat或其他Web...

    axis1.2 开发指南

    - **异常处理**:解释了 Axis 如何处理异常情况,特别是在发送 SOAP 消息时遇到的问题。 - **受限互操作性**:讨论了 Axis 可以通过 SOAP 发送的内容,以及在某些情况下无法发送的内容。 - **编码您的 Beans**:介绍...

    WebService------AXIS

    WebService——AXIS详解 在IT领域,WebService是一种基于标准的、平台无关的、可以在不同系统之间交换数据的方式。它利用XML(可扩展标记语言)作为数据格式,HTTP作为传输协议,SOAP(简单对象访问协议)作为消息...

    Axis和CXF的比较

    - **Axis2**:支持多种序列化机制,如XMLBeans、JiBX、JaxMe和JAXB等,但在与Spring框架的集成上不如CXF方便。 - **CXF**:与Spring框架有着很好的集成,能够很好地利用Spring的各种特性,如依赖注入、事务管理等...

    MyEclipse下开发Web Service(Axis)

    ### MyEclipse下开发Web Service(Axis)...最后,对于希望进一步探索Web Service技术栈的开发者,建议深入研究SOAP协议、WSDL规范以及与之相关的安全性、事务处理机制等内容,以提升自身在企业级应用开发领域的竞争力。

Global site tag (gtag.js) - Google Analytics