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

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

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

       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://www.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 閱讀(64563) 評論(3)  編輯  收藏 所屬分類: JAVAWebServiceJSP


    FeedBack:
    # re: 實戰 JDK 6.0 自帶web service
    2008-07-08 11:39 | 如坐春風
    不錯。  回復  更多評論
      
    # re: 實戰 JDK 6.0 自帶web service
    2008-07-10 13:27 | 44you
    還沒用過,了解一下  回復  更多評論
      
    # re: 實戰 JDK 6.0 自帶web service [未登錄]
    2011-08-30 22:02 | peter
    看了你的文章,有些疑問。加我qq : 312908671 討論.  回復  更多評論
      

    常用鏈接

    留言簿(21)

    隨筆分類(265)

    隨筆檔案(242)

    相冊

    JAVA網站

    關注的Blog

    搜索

    •  

    積分與排名

    • 積分 - 914414
    • 排名 - 40

    最新評論

    主站蜘蛛池模板: 亚洲成a人片7777| 最近中文字幕无吗高清免费视频| 亚洲妇女无套内射精| 老色鬼久久亚洲AV综合| 久久亚洲精品无码播放| 午夜成年女人毛片免费观看| 91精品免费高清在线| 水蜜桃视频在线观看免费播放高清| 美女黄频a美女大全免费皮| 亚洲人成电影网站久久| 亚洲黄色免费网站| 亚洲av无码av制服另类专区| 亚洲情侣偷拍精品| 亚洲av中文无码| 国产在线19禁免费观看| 精品久久免费视频| 成年女人18级毛片毛片免费 | 天堂亚洲免费视频| 妞干网免费观看视频| 黄瓜视频影院在线观看免费| 精品无码AV无码免费专区| 国产自国产自愉自愉免费24区 | 色屁屁www影院免费观看视频| 国产 亚洲 中文在线 字幕| 亚洲伊人久久大香线蕉影院| 亚洲自偷自偷精品| 亚洲成人午夜在线| 亚洲宅男永久在线| 亚洲网站在线观看| 91天堂素人精品系列全集亚洲| 久久亚洲中文字幕精品有坂深雪 | 亚洲av永久无码| 亚洲AV日韩AV高潮无码专区| 国产亚洲一区二区在线观看| 亚洲桃色AV无码| 国产亚洲精AA在线观看SEE| 亚洲av永久无码精品国产精品| 亚洲AV无码国产在丝袜线观看| 亚洲综合精品一二三区在线| 91在线精品亚洲一区二区| 亚洲精品高清视频|