定制发布webServices 部署文件的详细定义

    <?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" />
           <!-- service的命名空间,显示在wsdlxml文件中 --> 
            <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>  

posted @ 2016-11-19 23:09  码农小胖哥  阅读(148)  评论(0编辑  收藏  举报