<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)  編輯  收藏


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


    網站導航:
     
    主站蜘蛛池模板: 中国性猛交xxxxx免费看| 欧美亚洲国产SUV| 免费国产成人18在线观看| 中文字幕亚洲图片| 美女巨胸喷奶水视频www免费| 久久久久亚洲精品天堂久久久久久 | 亚洲精品电影在线| 国产免费无码AV片在线观看不卡| 77777亚洲午夜久久多人| 中文字幕免费在线视频| 亚洲AV午夜福利精品一区二区| 好男人看视频免费2019中文| 亚洲区视频在线观看| 蜜桃视频在线观看免费网址入口| 亚洲色欲啪啪久久WWW综合网| 成**人免费一级毛片| 国产亚洲Av综合人人澡精品| 亚洲国产婷婷综合在线精品 | 东方aⅴ免费观看久久av| 亚洲va在线va天堂va888www| 亚洲一区二区三区免费观看| 亚洲大成色www永久网址| 国产成人高清精品免费鸭子| 黄色网址免费在线观看| 亚洲国产人成在线观看69网站| 国产精品入口麻豆免费观看| 亚洲乱妇熟女爽到高潮的片| 免费久久精品国产片香蕉| 中文字幕高清免费不卡视频| 亚洲欧洲另类春色校园小说| 永久免费观看的毛片的网站| 中文日本免费高清| 亚洲一级免费毛片| heyzo亚洲精品日韩| 在线观看特色大片免费网站| 亚洲最大福利视频| 亚洲色精品88色婷婷七月丁香| 黄+色+性+人免费| 日韩毛片免费一二三| 色播亚洲视频在线观看| 国产免费人成视频在线观看|