1 消息路径
消息路径是axis的核心,实现主要分为两部分:server,client。
1.1 在服务端路径如图

Transport Listener主要是生产MessageContext,把特定格式的数据转化为message装入MessageContext中,然后交给Axis Engine,开始request chain旅行,包括transport,Global,Service,顺序执行他们当中指定的handler,其中有个URLMapper,对应的java为org.apache.axis.handlers.http.URLMapper(在server-config.wsdd定义)这个handler根据http://localhost/axis/services/AdminService将target Service设置为AdminService。
1.2在客户端
客户端执行的顺序与服务端相反,在transport中,包括Transport Sender,这个handler对应的java为org.apache.axis.transport.http.HTTPSender(在client-config.wsdd定义)负责与server端交互。

下面是一个整体的图,可以看的更清楚些。

2 子系统
先看一个图

概念与上面的相同,最好是对着server-config.wsdd中的文件会更清楚。
下面将介绍一个结构图,分别是handler,messageContext和Configuration
2.1 handler与tomcat中filter类似,依次处理messageContext。经过RequestHandler, RivotHandler, ResponseHandler.完成处理过程。
2.2 messageContext的结构

2.3
Engine 由两部分组成,一个AxisEngine类和EngineConfiguration接口。AxisEngine是一个抽象类,它有两个子类AxisClient和AxisServer分别处理负责上面提到的两种消息处理流程。
EngineConfiguration为Engine提供配置信息,在AxisEngine被创建的时候需要这些配置信息,结构图如下

最后还要提到一个AxisServlet,提供?wsdl,?list,?Method,需要扩展时,实现QSHandler接口。
&spm=1001.2101.3001.5002&articleId=1003900&d=1&t=3&u=2b4c8befa18d44e3ba796464f67ab5b5)
1833

被折叠的 条评论
为什么被折叠?



