Axis2 部署描述文件

Axis2 的部署描述文件共分三种:

全局部署描述文件 (axis2.xml)

Axis2 Webservice 部署描述文件 (services.xml)

Axis2 功能模块部署描述文件 (module.xml)

 

全局都放在 axis2.xml 文件中,比如一些全局参数(如是否支持热部署),

支持各种协议的消息发送类等, axis2 启动时会首先找这个文件,

如果在 repository 中找不到,会加载类路径下缺省的 axis2_default.xml 文件。

services.xml用于部署用户定义的webservice ,在 Axis1.x 中,

部署自己的一下service是比较麻烦的,axis2 这方面改进得比较好,

首先写一个自己的业务类,不需要实现任何接口,然后在 services.xml 

文件对自己所要提供服务的方法设置就 ok 了. 

 

services.xml

最外边serviceGroup代表一组服务,其间可以容纳多个service , 

service就代表一个用户定义的一个服务,

description 是该服务一个简单描述,没有什么实际意义,

parameter这里定义一个比较重要的参数ServiceClass ,既用户自己写的提供

服务的简单的 javaBean ,

operation 声明这个服务对外提供具体的操作,

name指操作名,注意这个操作名在自己的 ServiceClass 中

必须存在这样一个 public 的方法, 

messageReceiver 定义这个操作的消息接收类,

这个class使用的选择与用户自定义的服务运行方式有关,

Axis2提供了两种主要的MEP(消息交换方式):

IN-ONLY(收到请求执行某一操作),

IN-OUT(收到请求执行某一操作后返回一个响应消息纵给客户端),

这里选择RawXMLINOutMessageReceiver表示采用IN-OUT这种方式。

 

最后还有 module.xml ,这也是 axis2 一个比较有特色的地方,

用户可以自己开发对 soap 消息处理的功能块,可以很方便地加入到 axis2 

核心系统中,一个功能模块可以定义为全局的,请求所有服务都能执行到,

也可以定义为服务级别,只有请求某个特定的服务才能执行到,或操作级别的,

请求某个服务某个操作才能执行到。

Axis2可以单独启动提供服务,Axis2 提供了一下 

org.apache.axis2.transport.http.SimpleHTTPServer 类来启动整个系统,

但一般实际应用将 Axis2 和 Servlet Container 绑定在一起

(可能是成熟的 Servlet Container 在多线程管理方面更加稳定同时

也便于与 web application 进行交互)。

 Axis2 由 Servlet 引导启动的时序,首先当然是 Servlet Container 

调用 AxisServlet 的 init(ServletConfig) 方法,总的次序是:

先加载 axis2.xml 全局配置,其次加载 repository 下 modules ,

最后加载 services 。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值