隨筆-61  評論-159  文章-0  trackbacks-0
           在使用JDK6自帶的webservice特性之前,項目中接口開發有用到Axis2、XFire、CXF等webservice框架發布通過獲取相關的wsdl文件即可實現遠程通訊數據交互。
           Axis2配合相關的IDE生成服務并發布到服務器上面相當簡單和根據選擇其中之一的wsdl引擎生成客戶端調用java類,感覺類庫jar包比較龐大應用起來也比較復雜。
           XFire是比較強大的webservice框架,容易與web容器整合,以及spring提供整合支持。
          CXF是apache收購XFire后改造產物,功能也相當強大。
           使用JDK6自帶的webservice特性后,深感部署之簡單,真正的輕量級,可以使你集中盡力解決服務端的相關功能設計與實現。
           下面介紹JDK6自帶的Webservice特性例子:

            IDE:eclipse3.6+ javaee版
          新建一個java工程后,建如下類即可簡單實現webservice:

           1import javax.jws.WebService;
           2import javax.xml.ws.Endpoint;
           3
           4@WebService
           5public class HelloWorld {
           6    public String sayHello() 
           7        return "helloworld";
           8        }
           
           9        public static void main(String[] args) 
          10        //發布一個WebService 
          11        Endpoint.publish("http://localhost:9090/HelloWorld"new HelloWorld()); 
          12        }
           
          13}

          14

          啟動main方法即可發布一個webservice服務,通過瀏覽器輸入http://localhost:9090/HelloWorld?wsdl即可訪問。
          注:HelloWorld是一個普通類,只是在類的前面第4行加了注解@WebService,發布是在第11行,http://localhost:9090/HelloWorld是發布服務地址,其中new HelloWorld()是服務類。
               在實際項目開發中可以服務地址從硬編碼中抽離處理,寫到配置文件或者數據庫中方便維護管理,修改地址從前服務即可。
           



          -------------------------------------------------------------------------------------------------
          PS:本博客文章,如果沒有注明是有“轉”字樣,屬于本人原創。如果需要轉載,務必注明作者文章的詳細出處地址,否則不允許轉載,多謝合作!
          posted on 2011-05-11 15:48 apple0668 閱讀(5134) 評論(6)  編輯  收藏 所屬分類: java

          評論:
          # re: JDK6中JWS自帶webservice應用 2011-05-12 09:43 | itwangxinli
          看起來挺美,但是客戶端呢?而且
          Endpoint.publish("http://localhost:9090/HelloWorld", new HelloWorld()); 這個原理能解釋下嗎?比如輸入url,那么他后天用的是什么服務器呢?
          客戶端怎么訪問呢?
          期待解答
            回復  更多評論
            
          # re: JDK6中JWS自帶webservice應用 2011-05-12 13:35 | apple0668
          @itwangxinli
          JDK6中用到的是JWS方式的webservice,有興趣看源碼。上面有注解就是@Webservice就是引入相關支持。

          對服務器沒有要求,你可以自己寫一個main方法打包或者集成到web上面即可。

          客戶端訪問方式,你可以通過通過瀏覽器輸入http://localhost:9090/HelloWorld?wsdl 得到wsdl文件,通過第三方類庫或者工具生成客戶端。  回復  更多評論
            
          # re: JDK6中JWS自帶webservice應用[未登錄] 2011-07-04 14:53 | sodarfish
          博主您好,請問JDK自帶的webservice 性能怎樣? 他是自己實現了一個web server么? 謝謝

          sodarfish@163.com  回復  更多評論
            
          # re: JDK6中JWS自帶webservice應用 2011-08-03 21:04 | 老吳
          請問有人做過用這個傳文件的例子嗎?  回復  更多評論
            
          # re: JDK6中JWS自帶webservice應用[未登錄] 2012-02-21 08:59 | a
          怎么和SSH整合  回復  更多評論
            
          # re: JDK6中JWS自帶webservice應用 2013-01-05 17:19 | jiny
          確實很簡潔啊  回復  更多評論
            
          主站蜘蛛池模板: 尚志市| 阿合奇县| 稻城县| 特克斯县| 崇文区| 正定县| 永州市| 玉林市| 岑溪市| 凭祥市| 和平县| 叙永县| 江门市| 华安县| 介休市| 安宁市| 安徽省| 清水河县| 哈密市| 政和县| 乡城县| 江山市| 德阳市| 邢台县| 宁国市| 华蓥市| 视频| 高邑县| 梨树县| 平度市| 阳西县| 洪雅县| 广南县| 凤冈县| 嘉黎县| 开平市| 来宾市| 休宁县| 霍州市| 青河县| 和平县|