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

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

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

    CONAN ZONE

    你越掙扎我就越興奮

    BlogJava 首頁 新隨筆 聯系 聚合 管理
      0 Posts :: 282 Stories :: 0 Comments :: 0 Trackbacks
    JAVA 6.0 之后,其中JDK自帶有個輕量級的web service 服務器。如果你比較細心一定發現在你安裝java的路徑下,有java webservice 的示例代碼。

       我以前也用java開發過web service ,但是當初用了一個apache 下axis 開源項目。如果axis夜進化了,反正我不認識了。不過java自帶有何必舍近求遠呢。今天我就把自己創建的最簡單java webservice 范例過程記錄下來,與大家分享。

       我用的是netbeans 6,首先建立一個java 應用程序工程,名為WebServices。建立一個服務端程序。
    package  WebServices;

    import  javax.jws. * ;
    import  javax.xml.ws.Endpoint;

    /**
     * 
    @author  hecm
     
    */
    @WebService(targetNamespace 
    =   " http://m.tkk7.com/JAVA-HE " , serviceName  =   " HelloService " )
    public   class  WSProvider
    {

       
    //  @WebResult(name = "Greetings") // 自定義該方法返回值在WSDL中相關的描述    
        @WebMethod(action  =   " sayHi " , operationName  =   " sayHi " )
        
    public  String sayHi(@WebParam(name  =   " MyName " ) String name)
        {
            
    return   " Hi, "   +  name;  // @WebParam是自定義參數name在WSDL中相關的描述

        }

        @Oneway 
    // 表明該服務方法是單向的,既沒有返回值,也不應該聲明檢查異常

        @WebMethod(action 
    =   " printSystemTime " , operationName  =   " printSystemTime " ) // 自定義該方法在WSDL中相關的描述
         public   void  printTime()
        {
            System.out.println(System.currentTimeMillis());
        }

        
    public   static   void  main(String[] args)
        {
            Thread wsPublisher 
    =   new  Thread( new  WSPublisher());
            wsPublisher.start();
        }

        
    private   static   class  WSPublisher  implements  Runnable
        {

            
    public   void  run()
            {
                
    // 發布WSProvider到http: // localhost:8888/hechangmin/WSProvider這個地址,之前必須調用wsgen命令
                
    // 生成服務類WSProvider的支持類,命令如下:
                
    // wsgen -cp . WebServices.WSProvider
                 Endpoint.publish("http://localhost:8888/JAVA-HE/WSProvider", new WSProvider());
         
    }
        }
    }

    當然建立對應的包,就不用說了。
    然后編譯文件。
    進入命令提示符下,進入classes目錄,運行:wsgen -cp . WebServices.WSProvider

    可以看到將剛才的class 生成了幾個java文件和class文件。

    現在要做的是發布ws到http://localhost:8888/chinajash/WSProvider
    而實際上的動作就是:Endpoint.publish("http://localhost:8888/chinajash/WSProvider",new WSProvider());
    當然直接運行WSProvider 。

    然后輸入http://localhost:8888/JAVA-HE/WSProvider?wsdl

    就已經查看到生成的wsdl (webservice 描述語言)。

    也就是服務端就OK了。

    保持運行。編寫一個測試客戶端:

    首先選擇項目,右鍵新建 web服務客戶端。其中ws url填入剛才生成的wsdl地址:
    http://localhost:8888/JAVA-HE/WSProvider?wsdl

    (實際上:和wsimport http://localhost:8888/JAVA-HE/WSProvider?wsdl 一樣的效果)


    產生一個效果:在classes下 按照 之前指定的名字空間產生的包下(目錄結構)生成了7個幫助class。

    然后我們建立一個包 client 建立測試文件:

    /*
     * To change this template, choose Tools | Templates
     * and open the template in the editor.
     
    */

    package  client;

    import  net.blogjava.java_he. * ;
    /**
     *
     * 
    @author  hecm
     
    */
    public   class  Test {
        
    public   static   void  main(String args[])
        {
            HelloService hs 
    =   new  HelloService();
            WSProvider ws 
    =  hs.getWSProviderPort();
            System.out.println(ws.sayHi(
    " hechangmin " ));
            ws.printSystemTime();
        }

    }


    運行這個測試類:
    Hi,hechangmin

    輸出了。順利完成!

    一點個人經驗,你發布的地址最好寫成可配置。還有就是wsdl 中會嚴格按照你指定的url來訪問,比如你指定的127.0.0.1 那么你用本機IP的時候也許并不能順利訪問。

    posted on 2008-07-08 02:59 -274°C 閱讀(880) 評論(1)  編輯  收藏 所屬分類: JAVAJSP

    posted on 2008-07-08 23:02 CONAN 閱讀(215) 評論(0)  編輯  收藏 所屬分類: Web Service
    主站蜘蛛池模板: yy6080亚洲一级理论| 全部免费毛片在线| 亚洲精品乱码久久久久久按摩| 亚洲欧美在线x视频| 成年人免费网站在线观看| 亚洲中文字幕AV每天更新| 女性自慰aⅴ片高清免费| 亚洲AV日韩AV永久无码色欲| 国产精品免费小视频| 老司机午夜性生免费福利| 亚洲片国产一区一级在线观看| 亚美影视免费在线观看| 亚洲人成伊人成综合网久久久| 最近2019中文免费字幕在线观看 | 亚洲国产亚洲片在线观看播放| 永久免费在线观看视频| jlzzjlzz亚洲jzjzjz| 美女免费视频一区二区三区| 丁香亚洲综合五月天婷婷| 国产无限免费观看黄网站| 亚洲AV日韩AV永久无码免下载| 95老司机免费福利| 一区二区亚洲精品精华液 | 精品国产亚洲男女在线线电影| 中文无码日韩欧免费视频| 亚洲国产精品自在在线观看| 免费99精品国产自在现线| 亚洲AV无码一区二区三区牲色| 亚洲一区二区三区乱码A| 人妻无码一区二区三区免费| 精品亚洲AV无码一区二区| 国产a不卡片精品免费观看| 成全视成人免费观看在线看| 亚洲黄色在线观看视频| 免费一级毛片在线播放不收费| 国产免费高清69式视频在线观看| 亚洲精品中文字幕无码AV| 四虎影视永久免费观看地址| 久久午夜夜伦鲁鲁片无码免费| 亚洲av午夜国产精品无码中文字| 中文字幕第一页亚洲|