<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Java世界

    學習筆記

    常用鏈接

    統計

    積分與排名

    天籟村

    新華網

    雅虎

    最新評論

    MyEclipse下開發Web Service(Axis)【轉載】

    AXIS1.4 發布Web Service及客戶端測試 

    1. 在Myeclipse中新建 Web project,如 WS1.4

    2. src中創建服務的操作類, axisJWS.java 內容如下:
    package com.server;

    public class axisJWS {
      static int index=1;
         public String method(String userAuth, String xml){
          System.out.println("流水號第"+index+++"行");
          return ">>>"+userAuth+"=="+xml;
         }
    }

    3. 在WebRoot\WEB-INF\下增加文件server-config.wsdd 用于發布服務。
    <?xml version="1.0" encoding="UTF-8"?>
    <deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
     <globalConfiguration>
      <parameter name="adminPassword" value="admin"/>
      <parameter name="attachments.implementation" value="org.apache.axis.attachments.AttachmentsImpl"/>
      <parameter name="sendXsiTypes" value="true"/>
      <parameter name="sendMultiRefs" value="true"/>
      <parameter name="sendXMLDeclaration" value="true"/>
      <parameter name="axis.sendMinimizedElements" value="true"/>
      <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>
     </globalConfiguration>
     <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"/>

     <service name="Version" provider="java:RPC">
      <parameter name="allowedMethods" value="getVersion"/>
      <parameter name="className" value="org.apache.axis.Version"/>
     </service>
     
     <service name="axisJWS" provider="java:RPC">
      <parameter name="allowedMethods" value="*"/>
      <parameter name="scope" value="Request"/>
      <parameter name="className" value="com.server.axisJWS"/>
     </service>

     
     <transport name="http">
      <requestFlow>
       <handler type="URLMapper"/>
       <handler type="java:org.apache.axis.handlers.http.HTTPAuthHandler"/>
      </requestFlow>
     </transport>
     <transport name="local">
      <responseFlow>
       <handler type="LocalResponder"/>
      </responseFlow>
     </transport>
    </deployment>

    4. web.xml 內容修改為:
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app version="2.4" 
     xmlns="http://java.sun.com/xml/ns/j2ee
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance
     xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
     http://java.sun.com/xml/ns/j2ee/web-app_2_3.xsd">
      <!-- 第一段 -->
      <servlet>
        <servlet-name>AxisServlet</servlet-name>
        <display-name>Apache-Axis Servlet</display-name>
        <servlet-class>org.apache.axis.transport.http.AxisServlet</servlet-class>
      </servlet>
      <servlet>
        <servlet-name>SOAPMonitorService</servlet-name>
        <display-name>SOAP Monitor Service</display-name>
        <servlet-class>org.apache.axis.monitor.SOAPMonitorService</servlet-class>
        <init-param>
          <param-name>SOAPMonitorPort</param-name>
          <param-value>5001</param-value>
        </init-param>
      </servlet>
      
      <!-- 第二段 -->
      <servlet-mapping>
        <servlet-name>AxisServlet</servlet-name>
        <url-pattern>*.jws</url-pattern>
      </servlet-mapping>
      
      <servlet-mapping>
        <servlet-name>SOAPMonitorService</servlet-name>
        <url-pattern>/WS/SOAPMonitor</url-pattern>
      </servlet-mapping>
      
      <servlet-mapping>
        <servlet-name>AxisServlet</servlet-name>
        <url-pattern>/services/*</url-pattern>
      </servlet-mapping>

      <servlet-mapping>
        <servlet-name>AxisServlet</servlet-name>
        <url-pattern>/WS/servlet/AxisServlet</url-pattern>
      </servlet-mapping>
      
      <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
      </welcome-file-list>
    </web-app>


    5. 部署整個Web Project到Tomcat6.0.14.

    6. 啟動tomcat6.0.14. 通過
    http://127.0.0.1:8080/WS1.4/WS/servlet/AxisServlet可訪問到服務, 超鏈接查看服務(wsdl)
    http://127.0.0.1:8080/WS1.4/services/axisJWS?wsdl

    下面開始做客戶端測試(需要加入axis1.4的*.jar)
    測試文件
    package com.server.client;

    import org.apache.axis.client.Call;
    import org.apache.axis.client.Service;
    import javax.xml.namespace.QName;

    public class axisSoap {

     public static void main(String[] args) {
      try {     
                String wsdlUrl = "http://127.0.0.1:8080/WS1.4/services/axisJWS?wsdl";   
                String soapActionURI = "http://127.0.0.1:8080/WS1.4/services/axisJWS?wsdl";   
                // 創建調用對象   
                Service service = new Service();   
                Call call = (Call) service.createCall();   
                // 調用getUserInfo   
                System.out.println(">>>調用開始: ");   
                //xmlns   
                call.setOperationName(new QName("http://127.0.0.1:8080/WS1.4/services/axisJWS?wsdl", "method"));   
                call.setTargetEndpointAddress(new java.net.URL(wsdlUrl));   
                   
                //parameter & return   
                call.addParameter("userAuth", org.apache.axis.encoding.XMLType.XSD_STRING,   
                        javax.xml.rpc.ParameterMode.IN);   
                call.addParameter("xml", org.apache.axis.encoding.XMLType.XSD_STRING,   
                        javax.xml.rpc.ParameterMode.IN);   
                call.setReturnType(org.apache.axis.encoding.XMLType.XSD_STRING);   
                   
                //set soap action   
                call.setUseSOAPAction(true);   
                call.setSOAPActionURI(soapActionURI);   
                //call   
                String ret = (String) call.invoke(new Object[] { "參數一" , "參數二" });   
                System.out.println("返回值: " + ret);   
              } catch (Exception e) {   
                e.printStackTrace();   
              }
     }
    }

    測試結果:
    服務端:
    流水號第1行
    流水號第2行
    流水號第3行
    流水號第4行
    客戶端:
    >>>調用開始: 
    返回值: >>>參數1==Param-1
    返回值: >>>參數2==Param-2
    返回值: >>>參數3==Param-3
    返回值: >>>參數4==Param-4

    測試完成。

    posted on 2012-04-09 09:51 Rabbit 閱讀(469) 評論(0)  編輯  收藏


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 日韩亚洲人成网站| 黄色毛片免费网站| 8x8x华人永久免费视频| 亚洲VA中文字幕无码毛片| 日本免费精品一区二区三区| 免费观看的a级毛片的网站| 亚洲中文字幕久久精品无码VA | 亚洲日韩国产二区无码| 欧美在线看片A免费观看| 亚洲砖码砖专无区2023| 午夜两性色视频免费网站| 色欲aⅴ亚洲情无码AV| 亚洲AV无码成H人在线观看| 一边摸一边桶一边脱免费视频| 亚洲精品无码永久在线观看| www免费黄色网| 亚洲欧洲无码AV电影在线观看| 精品一卡2卡三卡4卡免费视频| 亚洲国产老鸭窝一区二区三区| 18禁男女爽爽爽午夜网站免费| 亚洲av乱码一区二区三区香蕉 | 日韩欧毛片免费视频| 国产精品亚洲一区二区麻豆| 日本免费一区二区三区最新| 香港特级三A毛片免费观看| 国产亚洲日韩在线三区| 波多野结衣中文字幕免费视频| 亚洲精品国产第一综合99久久 | 亚洲人成影院77777| 国产伦一区二区三区免费| 中文字幕a∨在线乱码免费看| 久久精品国产亚洲av麻豆色欲| 夜夜嘿视频免费看| 国产成人无码精品久久久免费| 亚洲日本乱码一区二区在线二产线 | 最近中文字幕mv免费高清在线 | 亚洲av无码不卡一区二区三区| 免费A级毛片无码无遮挡内射| 处破女第一次亚洲18分钟| 亚洲成色www久久网站夜月| 免费中文熟妇在线影片 |