Axis2 三种配置文件
来源:互联网 发布:url域名 网站 ip的区别 编辑:程序博客网 时间:2024/04/30 11:18
Axis2下提供了三种配置文件,一种是整个系统的全局配置axis2.xml,第二个是服务配置services.xml,第三个是模块配置module.xml。
一、全局配置axis2.xml文件
配置全局信息需要编写axis2.xml文件,在axis2.xml文件中,顶级元素有六个,它们分别为:
Parameter
Transport Receiver
Transport Sender
Phase Order
Module References
Listeners(Observers)
1、Parameter
Parameter参数是个name value pair,每一个在AxisConfiguration中都会被转换为properties。因此parameters级别配置的文档可以在运行时通过AxisConfiguration得到。正确的配置方法为
<parameter name=”name of the parameter”> parameter value </parameter>
2、Transport Receiver
传输接收器,axis2接收消息可以采用不同的协议,需要对所采用的传输协议进行定义。定义格式:
<transportReceiver name=”http” class=”org.apache.axis2.transport.http.SimpleHTTPServer”>
<parameter name=”port”>6060</parameter>
</transportReceiver>
以上设置传输协议为http,端口是6060。也可以设置其他的传输协议。
3、Transport Sender
运行时使用sender发送消息,例如axis2运行于tomcat下,axis使用TCP transport senders 来发送消息而不是HTTP,定义的transport sender的格式如:
<transportSender name=”http” class=”org.apache.axis2.transport.http.CommonsHTTPTransportSender”>
<parameter name=”PROTOCOL”locked=”xsd:false”>HTTP/1.0</parameter>
</transportSender>
4、Phase Order
规范phases在执行链中的顺序,使用phase order元素来设置。
<phaseOrder type=”inflow”>
<phase name=”TransportIn”/>
</phaseOrder>
如果想在某个phase中添加一个handler,可以直接将handler元素添加到phaseOrder中。
Phaseorder的添加是在系统的预定义的phase之后。
5、Module References
如果在顶层元素添加module的ref ,则整个模块对全局有用。
<module ref=”addressing”/>
6、Listeners(Observers)
在Axis2中,AxisConfiguration是可监测的,可以注册进观察者,在当一个AxisConfiguration发生改变时它们将会被自动通知。当前观察者的实现如下事件:
部署一个服务时
删除一个服务
激活一个服务或是将服务变成非激活
部署模块
删除模块
注册对于那业附加特性的服务注册观察者是很有用的,如RSS feed生成器将为用户提供服务信息。注册观察者格式:
<listener class=”org.apache.axis2.ObserverIMPL”>
<parameter name=”RSS_URL”>http://127.0.0.1/rss</parameter>
</listener>
其中的class代表observer类的实现,并且需要说明的是类的实现要实现AxisObserver接口,类要能在classpath中获得。
二、服务配置services.xml
services.xml文件放于META-INF目录下,它的简单结构如下表所示:
<service name="name of the service" scope="name of the scope" targetNamespace="target namespase for the service">
<description> The description of the service? </description>?
<transports>
transport>HTTP</transport>
</transports>
<schema schemaNamespace="schema namespace"/>
<messageReceivers>
<messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out"
class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>
</messageReceivers>
<parameter name="ServiceClass" locked="xsd:false">org.apache.axis2.sample.echo.EchoImpl</parameter>
<operation name="echoString" mep="operation MEP">
<actionMapping>Mapping to action</actionMapping>
<module ref=" a module name "/>
<messageReceiver class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
</operation>
</service>
其中涉及到的相关元素的说明:
name:服务的名称,和aar文件名相同。
scope:需要部署的服务的scope, scope可以是四种的一种:Application,SOAPSessioin,TransportSession,Request。
targetNamespace;服务的目标名称空间,当产生wsdl文件时要用到这个元素。
description:可选的元素。只是进行描述。
transports:可选元素。Transport服务将被暴露(exposed)。
parameter:必须有的元素。规范工作的服务类和被MessageReceiver装载。
Operations:暴露的操作
<operation name=”echoString”>
<module ref=” a module name”/>
<messageReceiver class=”org.apache.axis2.receivers.RawXMLINOutMessageReceiver”/>
</operation>
此处必须有的属性是name,它代表了哪个操作名将暴露。操作也可以有module reference和多个参数。
三、模块配置module.xml
module.xml文件也是存于归档文档的META-INF目录下,简单如下:
<module class=”org.apache.module.ModuleImpl”>
<inflow>
...
</inflow>
<outflow>
…
</outflow>
<Outfaultflow>
…
</Outfaultflow>
<INfaultflow>
…
</INfaultflow>
<operation name=”createSeq” mep=”MEP_URI_IN_OUT”>
<messageReceiver class=”org.apache.axis2.receivers.RawXMLINOutMessageReceiver”/>
<parameter name=”para1” locked=”xsd:true”>10</parameter>
</operation>
在模块中有四种流flow:
Inflow;Outflow;INOutfaultflow;Outfaultflow
元素operations:如果一个模块在它被用到service中时想要向其中添加操作,则可以在module.xml文件中添加operation标记,这个operation的添加和services.xml文件中的方法一样。
Handler:handler元素包含有强制性的属性和可选的属性,定义handler的方法:
<handler name=”handler1” class=”handlerClass”>
<order phase=”userphase1”/>
</handler>
在handler中必须有的属性有:
name(handler的名称);
class(handler的实现类);
phase(handler所在的执行链中的阶段phase)
在handler中的可选属性:
phaseLast:说明handler是这个phase的最后一个handler
phaseFirse:说明handler是这个phase的头一个handler
before:handler应该在规定的handler之前调用
after:在规定的handler之后调用
Axis2下提供了三种配置文件,一种是整个系统的全局配置axis2.xml,第二个是服务配置services.xml,第三个是模块配置module.xml。
一、全局配置axis2.xml文件
配置全局信息需要编写axis2.xml文件,在axis2.xml文件中,顶级元素有六个,它们分别为:
Parameter
Transport Receiver
Transport Sender
Phase Order
Module References
Listeners(Observers)
1、Parameter
Parameter参数是个name value pair,每一个在AxisConfiguration中都会被转换为properties。因此parameters级别配置的文档可以在运行时通过AxisConfiguration得到。正确的配置方法为
<parameter name=”name of the parameter”> parameter value </parameter>
2、Transport Receiver
传输接收器,axis2接收消息可以采用不同的协议,需要对所采用的传输协议进行定义。定义格式:
<transportReceiver name=”http” class=”org.apache.axis2.transport.http.SimpleHTTPServer”>
<parameter name=”port”>6060</parameter>
</transportReceiver>
以上设置传输协议为http,端口是6060。也可以设置其他的传输协议。
3、Transport Sender
运行时使用sender发送消息,例如axis2运行于tomcat下,axis使用TCP transport senders 来发送消息而不是HTTP,定义的transport sender的格式如:
<transportSender name=”http” class=”org.apache.axis2.transport.http.CommonsHTTPTransportSender”>
<parameter name=”PROTOCOL”locked=”xsd:false”>HTTP/1.0</parameter>
</transportSender>
4、Phase Order
规范phases在执行链中的顺序,使用phase order元素来设置。
<phaseOrder type=”inflow”>
<phase name=”TransportIn”/>
</phaseOrder>
如果想在某个phase中添加一个handler,可以直接将handler元素添加到phaseOrder中。
Phaseorder的添加是在系统的预定义的phase之后。
5、Module References
如果在顶层元素添加module的ref ,则整个模块对全局有用。
<module ref=”addressing”/>
6、Listeners(Observers)
在Axis2中,AxisConfiguration是可监测的,可以注册进观察者,在当一个AxisConfiguration发生改变时它们将会被自动通知。当前观察者的实现如下事件:
部署一个服务时
删除一个服务
激活一个服务或是将服务变成非激活
部署模块
删除模块
注册对于那业附加特性的服务注册观察者是很有用的,如RSS feed生成器将为用户提供服务信息。注册观察者格式:
<listener class=”org.apache.axis2.ObserverIMPL”>
<parameter name=”RSS_URL”>http://127.0.0.1/rss</parameter>
</listener>
其中的class代表observer类的实现,并且需要说明的是类的实现要实现AxisObserver接口,类要能在classpath中获得。
二、服务配置services.xml
services.xml文件放于META-INF目录下,它的简单结构如下表所示:
<service name="name of the service" scope="name of the scope" targetNamespace="target namespase for the service">
<description> The description of the service? </description>?
<transports>
transport>HTTP</transport>
</transports>
<schema schemaNamespace="schema namespace"/>
<messageReceivers>
<messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out"
class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>
</messageReceivers>
<parameter name="ServiceClass" locked="xsd:false">org.apache.axis2.sample.echo.EchoImpl</parameter>
<operation name="echoString" mep="operation MEP">
<actionMapping>Mapping to action</actionMapping>
<module ref=" a module name "/>
<messageReceiver class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
</operation>
</service>
其中涉及到的相关元素的说明:
name:服务的名称,和aar文件名相同。
scope:需要部署的服务的scope, scope可以是四种的一种:Application,SOAPSessioin,TransportSession,Request。
targetNamespace;服务的目标名称空间,当产生wsdl文件时要用到这个元素。
description:可选的元素。只是进行描述。
transports:可选元素。Transport服务将被暴露(exposed)。
parameter:必须有的元素。规范工作的服务类和被MessageReceiver装载。
Operations:暴露的操作
<operation name=”echoString”>
<module ref=” a module name”/>
<messageReceiver class=”org.apache.axis2.receivers.RawXMLINOutMessageReceiver”/>
</operation>
此处必须有的属性是name,它代表了哪个操作名将暴露。操作也可以有module reference和多个参数。
三、模块配置module.xml
module.xml文件也是存于归档文档的META-INF目录下,简单如下:
<module class=”org.apache.module.ModuleImpl”>
<inflow>
...
</inflow>
<outflow>
…
</outflow>
<Outfaultflow>
…
</Outfaultflow>
<INfaultflow>
…
</INfaultflow>
<operation name=”createSeq” mep=”MEP_URI_IN_OUT”>
<messageReceiver class=”org.apache.axis2.receivers.RawXMLINOutMessageReceiver”/>
<parameter name=”para1” locked=”xsd:true”>10</parameter>
</operation>
在模块中有四种流flow:
Inflow;Outflow;INOutfaultflow;Outfaultflow
元素operations:如果一个模块在它被用到service中时想要向其中添加操作,则可以在module.xml文件中添加operation标记,这个operation的添加和services.xml文件中的方法一样。
Handler:handler元素包含有强制性的属性和可选的属性,定义handler的方法:
<handler name=”handler1” class=”handlerClass”>
<order phase=”userphase1”/>
</handler>
在handler中必须有的属性有:
name(handler的名称);
class(handler的实现类);
phase(handler所在的执行链中的阶段phase)
在handler中的可选属性:
phaseLast:说明handler是这个phase的最后一个handler
phaseFirse:说明handler是这个phase的头一个handler
before:handler应该在规定的handler之前调用
after:在规定的handler之后调用
- Axis2 三种配置文件
- java: axis2 客户端调用三种方法
- java: axis2 客户端调用三种方法 .
- axis2 webservice 调用的三种方式
- axis2 webservice 调用的三种方式 .
- axis2 客户端调用三种方式
- axis2 webservice 调用的三种方式
- axis2 webservice 调用的三种方式
- Axis2 WebService客户端的三种方式
- java: axis2 客户端调用三种方法
- axis2通过services.xml配置文件发布的两种方式
- Axis2 Web Service(三)
- Axis2 Web Service(三)
- AXIS2 webservice客户端调用服务端的三种方式
- 使用Axis2方式发布webService的三种方式
- Axis2开发WebService客户端的三种方式
- Axis2方式发布webService的三种方式
- 使用Axis2方式发布webService的三种方式
- Android待机流程分析
- ajax入门指南(一)
- Python MRO
- C语言中#号和##号的使用
- Detours MicroSoft开源项目
- Axis2 三种配置文件
- ext2 文件系统结构与目录文件及常规文件存储方法
- __FILE__,__LINE__,FUNCTION__实现代码跟踪调试(linux下c语言编程 )
- Hadoop - Map/Reduce 中的执行参数汇总
- 图解.Net框架系列(索引贴)
- SQL用例:convert(),while,Dateadd()
- SQL语句自己汇总
- ajax入门指南(二)
- 安装sql server2008后修改登录帐号后,不能登录sql server