隨筆-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
          確實很簡潔啊  回復  更多評論
            
          主站蜘蛛池模板: 白山市| 扎鲁特旗| 松潘县| 灵武市| 平度市| 哈密市| 石景山区| 甘洛县| 云梦县| 宜城市| 丹阳市| 确山县| 息烽县| 婺源县| 忻州市| 西宁市| 云霄县| 丰原市| 西峡县| 文昌市| 绥中县| 教育| 蒙自县| 定西市| 抚顺市| 岳普湖县| 页游| 威海市| 邻水| 富平县| 大港区| 故城县| 即墨市| 井冈山市| 崇仁县| 新巴尔虎左旗| 金昌市| 扎囊县| 南部县| 郑州市| 阳城县|