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

            IDE:eclipse3.6+ javaee版
          新建一個java工程后,建如下類即可簡單實現(xiàn)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        //發(fā)布一個WebService 
          11        Endpoint.publish("http://localhost:9090/HelloWorld"new HelloWorld()); 
          12        }
           
          13}

          14

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



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

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

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

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

          sodarfish@163.com  回復(fù)  更多評論
            
          # re: JDK6中JWS自帶webservice應(yīng)用 2011-08-03 21:04 | 老吳
          請問有人做過用這個傳文件的例子嗎?  回復(fù)  更多評論
            
          # re: JDK6中JWS自帶webservice應(yīng)用[未登錄] 2012-02-21 08:59 | a
          怎么和SSH整合  回復(fù)  更多評論
            
          # re: JDK6中JWS自帶webservice應(yīng)用 2013-01-05 17:19 | jiny
          確實很簡潔啊  回復(fù)  更多評論
            
          主站蜘蛛池模板: 九龙城区| 广丰县| 阿坝| 武穴市| 沈阳市| 故城县| 聂拉木县| 西安市| 焉耆| 溧水县| 石嘴山市| 安仁县| 花莲县| 西平县| 宁波市| 竹溪县| 连平县| 静宁县| 凌云县| 开平市| 来宾市| 沂南县| 广州市| 巴林右旗| 汉川市| 清水河县| 西吉县| 平江县| 黄冈市| 万宁市| 红河县| 南开区| 全南县| 德令哈市| 克东县| 荔波县| 霸州市| 汉川市| 会宁县| 磴口县| 钟祥市|