一. 本例概述
在本例中,我們將在業(yè)務(wù)邏輯類(lèi)是一個(gè)用戶(hù)的業(yè)務(wù)邏輯類(lèi),包括創(chuàng)建用戶(hù)、獲取單個(gè)用戶(hù)、獲取用戶(hù)數(shù)組、獲取用戶(hù)列表四個(gè)方法,因該文講的是XFire+Spring構(gòu)建webservice,所以在該例中我們并不涉及具體的數(shù)據(jù)庫(kù)操作,而只是提供模擬實(shí)現(xiàn)。方法描述如下:
1) 創(chuàng)建用戶(hù)方法:createUser(User user)
通過(guò)傳入User對(duì)象作為參數(shù)來(lái)才創(chuàng)建用戶(hù);
2) 通過(guò)用戶(hù)名獲取用戶(hù)信息方法:getUser(String loginName)
根據(jù)用戶(hù)名獲取某用戶(hù)對(duì)象,該方法返回的是一個(gè)User對(duì)象;
3) 返回所有用戶(hù)的數(shù)組方法:getUserArray()
返回為User數(shù)組;
4) 返回所有用戶(hù)的列表的方法:getUserList()
返回為List對(duì)象,放入的對(duì)象為User類(lèi)型。
二. 數(shù)據(jù)對(duì)象User.java
在上篇的例子中,src/webservice目錄下新建example2目錄,并在example2目錄下建立User.java文件,下面看看數(shù)據(jù)對(duì)象User.java的內(nèi)容,代碼如下:
三. 用戶(hù)業(yè)務(wù)類(lèi)UserService.java及其實(shí)現(xiàn)UserServiceImpl.java
下面讓我們來(lái)看看本例的業(yè)務(wù)邏輯接口類(lèi)UserService.java的內(nèi)容:
它的實(shí)現(xiàn)類(lèi)UserServiceImpl.java的內(nèi)容如下:
注意:getUserList()方法返回的List中需要采用泛型,不然會(huì)部署失敗。
到此為止,我們的業(yè)務(wù)已經(jīng)完成,剩下的工作只是修改配置文件和編寫(xiě)測(cè)試類(lèi)來(lái)進(jìn)行測(cè)試。讓我們繼續(xù)往下走吧。
四. 配置文件applicationContext.xml和xfire-servlet.xml的修改
在本小節(jié)中,我們需要修改配置文件。首先在applicationContext.xml文件中添加用戶(hù)邏輯bean的定義,添加的代碼如下:
<bean id="UserBean" class="webservice.example2.UserServiceImpl"/>
接下來(lái)我們還需要修改xfire-servlet.xml文件來(lái)暴露我們的Web Service,修改后的該文件內(nèi)容如下所示:
<entry key="/UserService.ws">
<ref bean="UserService" />
</entry>
并添加如下bean的定義:
我們的Web Service已經(jīng)開(kāi)發(fā)完成,啟動(dòng)本項(xiàng)目后,可通過(guò)瀏覽器訪問(wèn):http://localhost:8080/webservice_helloworld/UserService.ws?wsdl,我們可以在瀏覽器中看到該例的WSDL信息。
五. Web Service測(cè)試
在本小節(jié)我們將對(duì)上述完成的Web Service進(jìn)行測(cè)試,首先我們?cè)?/span>src目錄下的client.xml文件增加如下內(nèi)容:
接著我們?cè)?/span>src/test目錄下建立UserServiceClientTest.java類(lèi),編寫(xiě)測(cè)試代碼如下:
大家可以運(yùn)行該類(lèi),來(lái)查看運(yùn)行效果。 運(yùn)行有問(wèn)題的人可在此留下你們的email給我,我將這個(gè)工程發(fā)給你們。