美文网首页
webservice

webservice

作者: 水石间 | 来源:发表于2019-03-24 21:03 被阅读0次
  1. 在Spring中,可以将某个类以webservice方式暴漏出来:
    https://blog.csdn.net/zdwzzu2006/article/details/7443367

  2. 项目中有现成的xml和Bean互转的工具类: jaxbUtils

  3. wsdd文件注释:

<?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>

引自:https://blog.csdn.net/u011063151/article/details/52590282
http://www.cnblogs.com/ywx-vashon/p/5452893.html

相关文章

网友评论

      本文标题:webservice

      本文链接:https://www.haomeiwen.com/subject/qlwuvqtx.html