axis 發佈 websrvice 服務

web.xml 配置如下, services下的全部訪問路徑 交給 AxisServlet 處理。
 
 
  <servlet>
    <servlet-name>AxisServlet</servlet-name>
    <servlet-class>
        org.apache.axis.transport.http.AxisServlet
    </servlet-class>
 </servlet>

<servlet-mapping>
    <servlet-name>AxisServlet</servlet-name>
    <url-pattern>/services/*</url-pattern>
</servlet-mapping>

 

 
 
生成的 server-config.wsdd(web-inf目錄下)   Axis 命令可生成
 
<deployment xmlns="http://xml.apache.org/axis/wsdd/"
    xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">

    <handler name="URLMapper" type="java:org.apache.axis.handlers.http.URLMapper" />
    <handler name="LocalResponder"
        type="java:org.apache.axis.transport.local.LocalResponder" />
    
    <service name="CheckServer" provider="java:RPC">  -- 服務名
         <parameter name="allowedMethods" value="*"/>   -- 可訪問全部public方法
        <parameter name="className" value="com.heiniao.aaaaa.CheckServer"/>  --對應的須要發佈的類,只需寫正常的類便可。
     </service>

    <transport name="http">
        <requestFlow>
            <handler type="URLMapper" />
            <handler type="java:org.apache.axis.handlers.http.HTTPAuthHandler" />
        </requestFlow>
        <parameter name="qs:list"
            value="org.apache.axis.transport.http.QSListHandler" />
        <parameter name="qs:wsdl"
            value="org.apache.axis.transport.http.QSWSDLHandler" />
        <parameter name="qs:method"
            value="org.apache.axis.transport.http.QSMethodHandler" />
    </transport>
    <transport name="local">
        <responseFlow>
            <handler type="LocalResponder" />
        </responseFlow>
    </transport>
</deployment>

 

 
配置完後,重啓項目,可自動發佈webservice服務
 
測試類 -- 本地測試調用webservice 服務,遠程調用只需該下地址便可
String xml = "<?xml version=\"1.0\" encoding=\"UTF-8\" ?><reqData> </reqData>";
        String targetEendPoint =  "http://localhost:8080/heiniao/services/PolicyCheckServer";   //heiniao爲項目名  
        Service service =  new  Service();   
        Call call = (Call) service.createCall();               
        call.setOperationName( new  QName(targetEendPoint,  "getServerXML" ));    //這裏指定調用服務的方法
        call.setTargetEndpointAddress( new  URL(targetEendPoint));   
        String result = (String) call.invoke( new  Object[]{ ""});   //這裏爲入參,在這傳入了String 空值
        System.out.println(result);   //接收到的服務返回參數, 本服務設置的返回參數爲 String

 

 

全部的jar包 -- 這裏是所有的jar包 -- 根據服務功能有些是不須要的
activation.jarasm.jarasm-attrs.jaraxis.jaraxis-ant.jarcommons-discovery-0.2.jarcommons-logging-1.0.4.jardom4j-1.6.1.jarjaxrpc.jarlog4j-1.2.8.jarmail.jarsaaj.jarwsdl4j-1.5.1.jarxerces-2.6.2.jarxml-apis.jarXmlSchema-1.0.jar
相關文章
相關標籤/搜索