微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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可以处理的消息类型。

原文地址:https://www.jb51.cc/xml/294874.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。