Java程序员从笨鸟到菜鸟之(一百零九)一步一步学习webservice(三)开发第一个基于XFire的webservice
在日常開發中,常用的webservice引擎主要有Axis,axis2,Xfire以及cxf(Xfire的升級版)。現在只有axis2和cxf官方有更新。今天我們先以一個比較老的引擎為例。來講訴一下webservice的主要用法和簡單原理。
??????XFire是新一代的Java?Web服務引擎,XFire使得在JavaEE應用中發布Web服務變得輕而易舉。和其他Web服務引擎相比,XFire的配置非常簡單,可以非常容易地和Spring集成,它使得Java開發人員終于可以獲得和.Net開發人員一樣的開發效率。XFire是codeHaus組織提供的一個開源框架,它構建了POJO和SOA之間的橋梁,主要特性就是支持將POJO通過非常簡單的方式發布成Web服務,這種處理方式不僅充分發揮了POJO的作用,簡化了Java應用轉化為Web服務的步驟和過程,也直接降低了SOA的實現難度,為企業轉向SOA架構提供了一種簡單可行的方式。下面我們就通過一個小例子來實現一個基于XFire的webservice程序。
開發環境?
Sun?Java?6+?MyEclipse?8.5
首先建立一個webservice工程:File—》new—》web?service?project
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
? ?輸入你所想要的項目名。選中FrameWork為XFire,點擊next
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
圖中的Servlet?class選中當前的servlet。其他的默認就可以了。點擊next。然后選中假如當前的jar包。
下面我們看一下新創建的MyWebService?Web?Service工程的組織結構,Web?Service?工程和一個標準的MyEclipse?Web工程很相似.?(這是我們剛才配置時,Myeclipse給我自動假如的servlet的配置):?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
?
整個工程的結構:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
OK,開發前的大部分準備工作做完以后。下一步我們要進行的就是webservice的服務端,也就是提供給服務的一端的開發。其實這里所說的開發基本還是要靠Myeclipse的向導來幫我們完成。
File—》new—》other:
? ? ? ? ? ? ? ? ? ? ?
在圖中的myeclipse文件夾中找出web?services中的web?service。選中。點擊next。
? ? ? ? ? ? ? ??
上圖中Project所指定的就是我們要為哪個web項目創建service。這里我們當然選中的就是我們剛才所創建的MyWebService。然后要注意的就是這里的strategy?我們選中的是第二個:從java類中創建web服務、下面的創建新的java?bean也要選中。點擊next
? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
這里讓我們填寫一個創建web服務的名字。然后選擇所生成的類的包名。其他的默認就好。點擊finish。
該向導產生了IMyWebServiceService?Java接口和MyWebServiceServiceImpl?Java類.并且在services.xml配置文件中創建了一個實體(如圖所示),注意到example(String?name)方法在接口類中產生,當Web?Service部署后作為一個測試操作.??
從上面代碼中我們可以看出我們這個web服務的功能就是,當客戶端給我傳過來一個“name”。我們返回一個“hell?+?name”;
下一步要做的就是我們把我們這個web服務程序發布到服務器上。只有發布到程序上。別人才可以通過接口調用我們所寫的服務。發布服務器的過程我就不寫了。然后啟動服務器。
OK,web服務寫好了。Myeclipse為我們提供了一個很好的web服務的測試的功能。下面我們就用這個功能來測試一下我們的web服務是否寫配置正確。
在MyEclipse?perspective中選擇toolbar?button來執行Web?Service?Explorer?
1.點擊: ? ? ? ? ? ?? ??
2.?選擇WSDL模式:
3.?在活動面板中鍵入MyWebServiceService?WSDL文檔的URL—http://localhost:8080/MyWebService/services/MyWebServiceService?WSDL,Web?Service?Explorer將下載自動產生的WSDL文檔,該WSDL文檔由XFire?framework,并產生一系列的操作能夠調用service.?
4.?在活動面板中選擇example操作并在in0域中鍵入MyWebService?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
5.?選擇Go按鈕來調用在MyWebServiceService上的example操作,,結果出現在Status面板上??
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
Ok,從圖中我們可以發現。我們所做的的服務是成功的。既然是成功的。我們就可以發布到網絡上。讓需要的人可以調用我所提供的這個功能了。那么如何調用我們這功能呢?這就涉及到我們webservice?客戶端的開發了。下面我們來看一下webservice客戶端的開發。
為了方便理解。我們還是在我們本web?工程中創建客戶端。首先我們要給我的工程添加webservice客戶端的支持。也就是所謂的添加所需jar包。
右擊工程—》點擊BuildPath—》add?libary—》選中XFire1.2HTTP-client?libary
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
Finish
創建測試類:
? ?
? ? ? 該段代碼定義了創建一個XFire?web?service?proxy的過程,該代理支持POJO?IMyWebServiceService接口?。運行上面一段代碼。我們就成功的調用了我們所寫的web服務功能
------------------------------------------------------------------------------------------------------------
《Java程序員由笨鳥到菜鳥》電子版書正式發布,歡迎大家下載
http://blog.csdn.net/csh624366188/article/details/7999247
from:?http://blog.csdn.net/csh624366188/article/details/8229409
總結
以上是生活随笔為你收集整理的Java程序员从笨鸟到菜鸟之(一百零九)一步一步学习webservice(三)开发第一个基于XFire的webservice的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java程序员从笨鸟到菜鸟之(一百零八)
- 下一篇: 一分钟实现分布式锁