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. <parametername="nameoftheparameter">parametervalue</parameter>
Transport Receiver

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

copy

    transportReceivername="http"class="org.apache.axis2.transport.http.SimpleHTTPServer">
  1. parametername="port">6060>
  2. 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. moduleref="addressing"/>
Listener(Observers)

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

  • deploying a Service
  • Removing a service
  • Activate/Inactivate Service
  • Module deploy
  • Module remove
注册观察者有时很有用,例如RSS Feed generation,他可以给订阅者提供服务。正确注册观察者的方式如下:

copy
    listenerclass="org.apache.axis2.ObserverIMPL">
  1. parametername="RSS_URL">http://127.0.0.1/RSS>
  2. 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可以处理的消息类型。

相关文章

php输出xml格式字符串
J2ME Mobile 3D入门教程系列文章之一
XML轻松学习手册
XML入门的常见问题(一)
XML入门的常见问题(三)
XML轻松学习手册(2)XML概念