加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

axis2.xml

发布时间:2020-12-16 08:30:58 所属栏目:百科 来源:网络整理
导读:axis2.xml位于AXIS2_HOME/conf目录下面,在此文件中可以看到位于根元素下面有六个顶层元素: Parameter Transport Receiver Transport Sender Module Reference Listener(Observers) Message Receiver Message Formatters Message Builder Parameter 在Axis2

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

    (编辑:李大同)

    【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读