上一篇文章中写了关于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也可以加入到上面的处理流程中。
分享到:
相关推荐
NULL 博文链接:https://enjiex.iteye.com/blog/1101653
NULL 博文链接:https://enjiex.iteye.com/blog/1104455
axis2学习资料
Axis2学习文档
axisAxis2学习教程-全面学习AXISAxis2学习教程-全面学习AXIS
Axis2精简包——小弟花了半个多小时整的,最后一看还有40M
Axis2版本学习笔记Axis2版本学习笔记Axis2版本学习笔记Axis2版本学习笔记Axis2版本学习笔记Axis2版本学习笔记
axis2 webservice 服务端jar包: -->axis2-kernel-1.6.1.jar -->axis2-spring-1.6.1.jar -->axis2-transport-http-1.6.1.jar -->XmlSchema-1.4.7.jar -->wsdl4j-1.6.2.jar -->axiom-api-1.2.12.jar -->axiom...
axis2学习,自己整理的axis2学习,自己整理的axis2学习,自己整理的
axis2-1.6.2.zip, windows axis2工具,根据 WSDL生成java文件。 1、axis2客户端下载地址:http://mirror.esocc.com/apache//axis/axis2/java/core/1.6.2/axis2-1.6.2-bin.zip; 2、下载解压在D:\Work_Program_...
axis2-1.7.8.zip客户端。2、下载解压在D:\Work_Program_Files目录;在D:\Work_Program_Files\axis2-1.6.2\bin目录有一个wsdl2java.bat文件; 3、设置环境变量,加入AXIS2_HOME=Axis2客户端安装目录,path中追加;%...
axis2例子 webservice axis2 示例axis2例子 webservice axis2 示例axis2例子 webservice axis2 示例axis2例子 webservice axis2 示例axis2例子 webservice axis2 示例
axis2-adb-1.5.4.jar axis2-adb-codegen-1.5.4.jar axis2-codegen-1.5.4.jar axis2-corba-1.5.4.jar axis2-fastinfoset-1.5.4.jar axis2-java2wsdl-1.5.4.jar axis2-jaxbri-1.5.4.jar axis2-jaxws-1.5.4.jar axis2-...
本案例实现使用Axis2生成.arr包发布WebService服务,并使用Axis2生成客户端代码方式调用WebService
axis1.4和axis2相关jar文件,axis1.4和axis2相关jar文件
axis2-idea-plugin-1.7.9
axis2的API,axis2 API,axis2帮助文档
1、axis2相关jar包如下: axiom-api-1.2.10.jar axiom-dom-1.2.10.jar axiom-impl-1.2.10.jar axis2-adb-1.5.4.jar axis2-adb-codegen-1.5.4.jar axis2-codegen-1.5.4.jar axis2-corba-1.5.4.jar axis2-fastinfoset-...
axis 1.x与axis2.x开发 以及jar
Axis2 虽然由 Axis 1.x 处理程序模型提供支持,但它具有更强的灵活性并可扩展到新的体系结构。Axis2 基于新的体系结构进行了全新编写,而且没有采用 Axis 1.x 的常用代码。支持开发 Axis2 的动力是探寻模块化更强、...