發現去學習

以前一直用xfire覺得聽方便的,前幾天教同事使用xfire,他也慢慢的熟悉了。今天他問我關於cxf的東西。我也不知道,才發現是整合了xfire的一個插件,比xfire更加簡單,更加好用,所以打算學習一下cxf這個插件。而且xfire確實太老了。
我也只是小小的試了一把。從創建服務端和創建客戶端也只是需要幾分鐘的時間,cxf和xfire相比,少了不少的配置文件,不需要再web.xml裏面配置servlet添加Xfire,也不需要配置services.xml文件,服務端需要的只是接口和實現類,而客戶端只需要接口。
cxf下載地址如下,也可以下載最新的版本

HelloDao readerService = new HelloDao();  
Endpoint.publish("http://localhost:8081/readerService",readerService);  
去啓動一個服務只需要這兩句話,new一個實現類,然後將這個實現類放到這個鏈接上就好了。比xfire少了服務端的配置。
但是有一點組要注意的是,如果這段代碼在web工程中,你啓動了一個web項目,端口是8080的話,如果你再設置這個接口服務的端口是8080,那麼,就會有端口衝突,需要重新設置一個端口號,避免衝突。

關於客戶端:
JaxWsProxyFactoryBean factoryBean = new JaxWsProxyFactoryBean();  
        factoryBean.setServiceClass(Hello.class);  
        factoryBean.setAddress("http://localhost:8081/readerService");  
        Hello readerService = (Hello)factoryBean.create();  
        String reader = readerService.sayHello("zhang");  

Hello是HelloDao 的接口,接口被創建出來後,我們直接調用方法就好了。

而現在Xfire已經在2007年停止更新,取而代之的是cxf,Xfire我們或許只需要知道他怎麼用的就好了,更多的使用cxf。
在這裏有個疑問,cxf和httpclient。一個是在服務端開啓服務,並提供出來。httpclient也是差不多這個意思。不太明白這兩個之間是否有關係,是否可以去比較對比。httpclient走的是http協議,cxf支持的協議很多。不同的協議有啥不同。需要去查一下資料。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章