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

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

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

    posts - 193,  comments - 520,  trackbacks - 0
     
         摘要: 這是AXIS學習筆記的最后一篇。在前面我們討論了最簡單的HelloWorld服務,客戶端并沒有向服務器端傳遞參數,現在我們來傳JavaBean。當然,也可以傳遞你自己定義的JAVA類,但那樣你必須自己創建專門的XML序列化器和反序列化器;而對JavaBean,AXIS提供了現成的序列化器。(有人說:懶惰是程序員最大的美德)    一、服務器端   1、...  閱讀全文
    posted @ 2007-06-12 16:25 ronghao 閱讀(5337) | 評論 (3)編輯 收藏
         摘要: 四、使用WS-Security規范對信息進行加密與身份認證     我們打算用Handler結合WSSecurity實現Web服務安全     設想流程:用WSClientRequestHandler.java位于客戶端對客戶端發出的XML文檔進行加密  WSServerRequestHandler.ja...  閱讀全文
    posted @ 2007-06-12 16:20 ronghao 閱讀(2255) | 評論 (4)編輯 收藏
         摘要: 在前面的文章中,我們實現了最簡單的AXIS服務。現在我們一起來討論一下Web服務的安全問題。 根據應用的對安全要求的級別不同,可以采用不同的方式來實現安全性,以下是目前最常用的一些實現方式(從低到高排列):     1、J2EE Web應用默認的訪問控制(數據是明文的);      2、使用a...  閱讀全文
    posted @ 2007-06-12 16:10 ronghao 閱讀(3941) | 評論 (4)編輯 收藏
         摘要: 原文作者: 陳亞強 原文鏈接:http://www.ibm.com/developerworks/cn/webservices/ws-handler/index.html 高級軟件工程師, 北京華園天一科技有限公司 2003 年 8 月  一、Handler的基本概念 J2EE Web 服務中的H...  閱讀全文
    posted @ 2007-06-12 16:01 ronghao 閱讀(3144) | 評論 (1)編輯 收藏

    一、軟件環境

     1
    axis-1_2  (apache網站下載最新axis-bin-1_2.zip解壓即可)

     2
    Tomcat5.0 

     3
    JDK5.0

    二、相關配置

     1
    、在你的%TOMCAT_HOME%\common\lib下需要加入三個包 activation.jarmail.jartools.jar

     2
    、環境變量設置

         AXIS_HOME 
    axis-bin-1_2.zip解壓的目錄(我的是在F:\soap\axis-1_2

         AXIS_LIB    
     %AXIS_HOME%\lib

        AXISCLASSPATH 
     %AXIS_LIB%\axis.jar;%AXIS_LIB%\commons-discovery-0.2.jar;%AXIS_LIB%\commons-logging-1.0.4.jar;

    %AXIS_LIB%\jaxrpc.jar;%AXIS_LIB%\saaj.jar;%AXIS_LIB%\log4j-1.2.8.jar;也就是把%AXIS_LIB%下所用JAR文件都導入

    三、實驗一下

       
    %AXIS_HOME%\webapps下找到axis文件夾,將其整個拷貝到%TOMCAT_HOME%\webapps下,啟動

      Tomcat,
    打開瀏覽器訪問http://localhost:8080/axis/,出現以下頁面說明你配置成功了。很簡單吧:)


    四、發布我們的第一個程序

       
    第一個程序簡單的返回HELLO WORLD

     HelloWorld.java

    public class HelloWorld {
      
    public String sayHello()
      {
        
    return "HELLO WORLD!"
      } 
    }


    我們的第一種發布方式:

    HelloWorld.java拷貝到%TOMCAT_HOME%\webapps\axis下,然后將其改名為HelloWorld.jws,這樣AXIS就自然將其發布了。現在寫個客戶端程序訪問一下:
    TestClient.java

    import org.apache.axis.client.Call;
    import org.apache.axis.client.Service;

    import javax.xml.rpc.ParameterMode;

    public class TestClient
    {
       
    public static void main(String [] args) throws Exception {
           
           String endpoint 
    = "http://localhost:" +"8080"+ "/axis/HelloWorld.jws";//指明服務所在位置

           Service  service 
    = new Service();  //創建一個Service實例,注意是必須的!
           Call     call    = (Call) service.createCall();//創建Call實例,也是必須的!

         call.setTargetEndpointAddress( 
    new java.net.URL(endpoint) );//為Call設置服務的位置

            call.setOperationName( 
    "sayHello" );//注意方法名與HelloWorld.java中一樣!!

             String res 
    = (String) call.invoke( new Object[] {} );//返回String,沒有傳入參數

            System.out.println( res );
       }
    }


    我的測試是在jbuilder2005中,注意項目中要導入其自帶的AXIS包(當然應該把其中JAR文件替換一下),可以看到程序返回了 "HELLO WORLD!"

    可以看到在AXIS里發布服務其實是一件很容易的事,這是因為這個服務很簡單的原因:)下面我們介紹第二種發布方式,這是常用的。

    我們的第二種發布方式:

    1
    、將HelloWorld.java編譯成HelloWorld.class,放到%TOMCAT_HOME%\webapps\axis\WEB-INF\classes

    2
    、在%TOMCAT_HOME%\webapps\axis\WEB-INF下新建deploy.wsdd文件,即SOAP服務發布描述文件

         deploy.wsdd

    <deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
        
    <service name="HelloWorld" provider="java:RPC">
            
    <parameter name="className" value="HelloWorld"/>
            
    <parameter name="allowedMethods" value="sayHello"/>
        
    </service>
    </deployment>


    DOS下轉換目錄到%TOMCAT_HOME%\webapps\axis\WEB-INF,命令:

    java -cp %AXISCLASSPATH% org.apache.axis.client.AdminClient deploy.wsdd

    你會發現目錄下多了一個server-config.wsdd文件,這就是AXIS的配置文件,以后所有的服務發布描述都會在里面找到。(當然,你可以直接修改它,不用再寫deploy.wsdd)然后打開瀏覽器http://localhost:8080/axis/servlet/AxisServlet,你就會看到你的服務已發布

    同樣用客戶端程序訪問一下:(注意和上邊的差別!!)
    HelloClient.java

    import org.apache.axis.client.Call;
    import org.apache.axis.client.Service;

    public class HelloClient
    {
       
    public static void main(String [] args) throws Exception {

           String endpoint 
    = "http://localhost:" +"8080"+ "/axis/services/HelloWorld";//注意!差別僅僅在這里!!

           Service  service 
    = new Service();
           Call     call    
    = (Call) service.createCall();
           call.setTargetEndpointAddress( 
    new java.net.URL(endpoint) );
            call.setOperationName(
    "sayHello"  );

             String res 
    = (String) call.invoke( new Object[] {} );

                             System.out.println( res );
       }
    }

    posted @ 2007-06-12 15:48 ronghao 閱讀(2670) | 評論 (1)編輯 收藏
    僅列出標題
    共39頁: First 上一頁 21 22 23 24 25 26 27 28 29 下一頁 Last 
    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    關注工作流和企業業務流程改進。現就職于ThoughtWorks。新浪微博:http://weibo.com/ronghao100

    常用鏈接

    留言簿(38)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    常去的網站

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲色图.com| 国产精品内射视频免费| 久久精品免费观看| 免费a级毛片无码a∨性按摩| 亚洲欧洲日韩在线电影| a在线视频免费观看| 内射无码专区久久亚洲| 亚洲一区中文字幕| 色欲国产麻豆一精品一AV一免费| 亚洲?v女人的天堂在线观看| 成人区精品一区二区不卡亚洲| 久久亚洲免费视频| 亚洲最大AV网站在线观看| 老牛精品亚洲成av人片| 99在线视频免费观看视频| 亚洲欧洲日产国码久在线观看| 国产免费黄色无码视频| 免费在线观看毛片| 亚洲大尺度无码无码专线一区| 91频在线观看免费大全| 亚洲制服中文字幕第一区| a毛片视频免费观看影院| 亚洲国产高清精品线久久| 最新亚洲春色Av无码专区| 五月亭亭免费高清在线| 亚洲欧洲一区二区| 人人玩人人添人人澡免费| 国产亚洲av人片在线观看| 黄色a三级三级三级免费看| 男女交性永久免费视频播放| 亚洲人成电影在线观看网| 精品无码无人网站免费视频| 亚洲av永久无码精品秋霞电影影院 | 99视频在线观看免费| 国产偷窥女洗浴在线观看亚洲| 国产精品亚洲专区一区| 免费看一级做a爰片久久| 亚洲av综合日韩| 国产亚洲精品免费| 老牛精品亚洲成av人片| 四虎永久免费地址在线观看|