axis2.xml

axis2.xml位于AXIS2_HOME/conf目录下面,在此文件中可以看到位于根元素下面有六个顶层元素:

 

  • Parameter
  • Transport Receiver
  • Transport Sender
  • Module Reference
  • Listener(Observers)
  • Message Receiver
  • Message Formatters
  • Message Builder

 

Parameter

在Axis2中,一个参数就是一个键值对。axis2.xml中的顶层parameter都会被传送到AxisConfiguration类的属性中。因此,axis2.xml中顶层parameters都可以通过AxisConfiguration访问。parameter定义的格式为:

 

[html] view plain copy

  1. <parameter name="name of the parameter" >parameter value </parameter>  

Transport Receiver

 

根据Axis2运行的底层传输协议,你需要不同的接受器(transport receiver).配置方式如下:

 

[html] view plain copy

  1. <transportReceiver name="http" class="org.apache.axis2.transport.http.SimpleHTTPServer">  
  2.     <parameter name="port" >6060</parameter>  
  3. </transportReceiver>  

<transportReceiver/>元素的"name"属性表示传输接收者(Transport Receiver)的类型。可以是HTTP,TCP,SMTP,CommonsHTTP等。当系统启动或者在客户端设置了传输方式(transport)后,可以使用名称(name属性)来加载合适的传输方式。"class"属性指定实现了transport必需的接口的java类。任何传输方式都可以有一个或多个参数,并且对应的传输接收者(Transport Receiver)可以访问这些参数。

 

Transport Sender
类似传输接收者,同样可以注册传输发送者,并且在运行时可以使用这些发送者来发送消息。例如,假设Axis2运行在tomcat下面,那么Axis2可以使用TCP传输发送者来发送消息,而不是HTTP。配置方式如下:

 

 

<transportSender name="http"
                     class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">
        <parameter name="PROTOCOL">HTTP/1.1</parameter>
        <parameter name="Transfer-Encoding">chunked</parameter>
</transportSender>

name是协议的别名,class是实现类,其中可以指定一些其它的参数,在运行时,这些参数对实现类是可见的。

 

 

 

Module REferences

如果你想激活一个模块,系统级别,可以在axis2.xml中添加一个顶层的模块元素。类似这样: 

 

[html] view plain copy

  1. <module ref="addressing"/>  

Listener(Observers)

 

 

Axis2中,AxisConfiguration是可见的,因此你可以注册观察者。当AxisConfiguration发生变化时,会自动通知这些观察者。在当前的实现中,下列事件发生时会通知观察者。

  • Deploying a Service
  • Removing a service
  • Activate/Inactivate Service
  • Module deploy
  • Module remove

注册观察者有时很有用,例如Rss feed generation,他可以给订阅者提供服务。正确注册观察者的方式如下:

 

[html] view plain copy

  1. <listener class="org.apache.axis2.ObserverIMPL">  
  2.     <parameter name="RSS_URL" >http://127.0.0.1/rss</parameter>  
  3. </listener>  

class: 观察者的实现类,需要实现AxisObserver接口,并且类要位于classpath中。

Message Receiver:

 

axis2中消息接收器元素用于指定全局的message receivers,它会配置MEP(Message Exchange Pattern)和具体实现类,当部署一个service时,它会使用services.xml中的MEP和全局的message receivers。

 

Message Formatters:

把一个类结构序列化为一个特殊的格式,例如 输入类型为application/xml,要序列化为POX message,那message formatter如下:

<messageFormatters>
        <messageFormatter contentType="application/xml"
                         class="org.apache.axis2.transport.http.ApplicationXMLFormatter"/>
</messageFormatters>

 

Message Builder

它的作用把一个非soap消息转换为soap消息,例子:

<messageBuilders>
        <messageBuilder contentType="application/x-www-form-urlencoded"
                         class="org.apache.axis2.builder.XFormURLEncodedBuilder"/>
</messageBuilders>


contentType表示messageBuilder可以处理的消息类型。

 

最后欢迎大家访问我的个人网站:1024s

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值