在日常開發中,常用的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