<?xml version="1.0" encoding="UTF-8"?>
<!-- 告诉Axis Engine这是一个部署描述文件。一个部署描述文件可以表示一个完整的engine配置或者将要部署到一个活动active的一部分组件。 -->
<deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
<!-- 用于控制engine范围的配置。会包含一些参数 -->
<globalConfiguration>
<!-- 用来设置Axis的各种属性,参考Global Axis Configuration,可以配置任意数量的参数元素 -->
<parameter name="adminPassword" value="admin" />
<!-- 设置一个SOAP actor/role URI,engine可以对它进行识别。这允许指向这个role的SOAP headers成功的被engine处理 -->
<role/>
<!-- 全局的请求Handlers。在调用实际的服务之前调用 -->
<requestFlow>
<handler type="java:org.apache.axis.handlers.JWSHandler">
<parameter name="scope" value="session" />
</handler>
<handler type="java:org.apache.axis.handlers.JWSHandler">
<parameter name="scope" value="request" />
<parameter name="extension" value=".jwr" />
</handler>
</requestFlow>
<!-- 全局响应Handlers,在调用完实际的服务后,还没有返回到客户端之前调用 -->
<responseFlow/>
</globalConfiguration>
<!-- 用于定义Handler,并定义handler的类型。"Type" 可以是已经定义的Handler或者是"java:class.name"形式的QName。可选的"name"属性允许将这个Handler的定义在其他部署描述部分中引用。可以包含任意数量的<parameter name="name" value="value">元素. -->
<handler name="LocalResponder" type="java:org.apache.axis.transport.local.LocalResponder" />
<handler name="URLMapper" type="java:org.apache.axis.handlers.http.URLMapper" />
<handler name="Authenticate" type="java:org.apache.axis.handlers.SimpleAuthenticationHandler" />
<!-- 部署/卸载一个Axis服务,这是最复杂的一个WSDD标签。 -->
<service name="AdminService" provider="java:MSG">
<!-- allowedMethods: 每个provider可以决定那些方法允许web services访问,指定一个以空格分隔的方法名,只有这些方法可以通过web service访问。也可以将这个值指定为”*”表示所有的方法都可以访问。同时operation元素用来更进一步的定义被提供的方法,但是它不能决定方法的可见性 -->
<parameter name="allowedMethods" value="AdminService" />
<parameter name="enableRemoteAdmin" value="false" />
<!--className:后台实现类,即暴露接口的类-->
<parameter name="className" value="org.apache.axis.utils.Admin" />
<namespace>http://xml.apache.org/axis/wsdd/</namespace>
</service>
<!-- provider="java:RPC" 默认情况下所有的public方法都可以web service方式提供-->
<service name="TestService" provider="java:RPC">
<parameter name="allowedMethed" value="sayHello"/>
<parameter name="scope" value="Request"/>
<parameter name="className"
value="adam.bp.workflow.webservice.test.WebServicesTest"/>
</service>
<!-- 定义了一个服务器端的传输。当一个输入请求到达的时候,服务器传输被调用 -->
<transport name="http">
<!-- 指定handlers/chains 在请求被处理的时候被调用,这个功能和service元素中的功能一样。典型的传输请求响应handler实现了关于传输的功能。例如转换协议headers等等 -->
<requestFlow>
<handler type="URLMapper" />
<handler type="java:org.apache.axis.handlers.http.HTTPAuthHandler" />
</requestFlow>
</transport>
<transport name="local">
<!-- 指定handlers/chains 在响应被处理的时候被调用,这个功能和service元素中的功能一样。典型的传输请求响应handler实现了关于传输的功能。例如转换协议headers等等 -->
<responseFlow>
<handler type="LocalResponder" />
</responseFlow>
</transport>
</deployment>