來點Java的感覺
磨碎Java,我請你喝一杯.........
Web
您的域名
BlogJava
首頁
新隨筆
聯(lián)系
聚合
管理
隨筆-30 評論-123 文章-0 trackbacks-0
XFire:開發(fā)Web服務(wù)的簡易之道(三)--開發(fā)客戶端程序
摘要:在《XFire:開發(fā)Web服務(wù)的簡易之道(二)》中最后提到過:要想檢驗Web服務(wù)是否有效,需要一個客戶端程序?qū)嶋H調(diào)用一下這個Web服務(wù)。本章我們就來創(chuàng)建這樣一個用于檢驗的客戶端程序,驗證一下我們前面的工作是不是真的有效。最后總結(jié)一下用XFire開發(fā)Web服務(wù)的步驟。
創(chuàng)建客戶端程序
我們可以使用很多方法,任何SOAP工具來創(chuàng)建客戶端程序,例如.Net或Apache Axis。我的這個例子中我是用一個名叫WsClient.java的Servlet中的動態(tài)代理。為了減少編碼的代價,我將所有屏幕構(gòu)建元素都放到doGet()方法中。對Web服務(wù)服務(wù)的實際調(diào)用在callWebService()方法中。代碼很簡單:
/**/
/*
?Call?the?Web?service
????*
????
*/
????
public
?String?callWebService(
????????String?fromAccount,?String?toAccount,?
double
?amount,?String?currency)?
????????
throws
?MalformedURLException,?Exception?
{
????????
????????
//
Create?a?metadata?of?the?service??????
????????Service?serviceModel?
=
?
new
?ObjectServiceFactory().create(IBankingService.
class
);????????
????????log.debug(
"
callSoapServiceLocal():?got?service?model.
"
?);
???
????????
//
Create?a?proxy?for?the?deployed?service
????????XFire?xfire?
=
?XFireFactory.newInstance().getXFire();
????????XFireProxyFactory?factory?
=
?
new
?XFireProxyFactory(xfire);??????
????
????????String?serviceUrl?
=
?
"
http://localhost:8080/websvc/services/Banking
"
;
????????
????????IBankingService?client?
=
?
null
;
????????
try
?
{
????????????client?
=
?(IBankingService)?factory.create(serviceModel,?serviceUrl);
????????}
?
catch
?(MalformedURLException?e)?
{
????????????log.error(
"
WsClient.callWebService():?EXCEPTION:?
"
?
+
?e.toString());
????????}
????
???????????????
????????
//
Invoke?the?service
????????String?serviceResponse?
=
?
""
;
????????
try
?
{?
????????????serviceResponse?
=
?client.transferFunds(fromAccount,?toAccount,?amount,?currency);
???????}
?
catch
?(Exception?e)
{
????????????log.error(
"
WsClient.callWebService():?EXCEPTION:?
"
?
+
?e.toString());?????????????????
????????????serviceResponse?
=
?e.toString();
????????}
????????
????????log.debug(
"
WsClient.callWebService():?status=
"
?
+
?serviceResponse);??????????????
????????
//
Return?the?response
????????
return
?serviceResponse;
????}
???
這段代碼做了些什么?讓我解釋一下:首先我們創(chuàng)建了一個服務(wù)模型,里面包含了對服務(wù)的描述,換句話說,我們創(chuàng)建了服務(wù)的元數(shù)據(jù)。我們是用XFire的ObjectServiceFactory通過接口IBankingService.class創(chuàng)建了這個服務(wù)模型。
下一步就是獲取XFire的代理對象。這一步中沒有任何應(yīng)用細節(jié)。通過proxyFactory,使用服務(wù)模型和服務(wù)終點URL(用于獲得WSDL),我們獲得了服務(wù)的本地代理。
這個代理就是實際的客戶端。現(xiàn)在我們可以調(diào)用transferFunds()方法獲得我們想要的Web服務(wù)了。
一旦這個例子部署成功并啟動,就可以用下面的Servlet URL檢驗:
http://localhost:8080/websvc/ws
Servlet使用默認的參數(shù)訪問Web服務(wù)并顯示接收到的響應(yīng)。你應(yīng)該能看到下面兩行信息
Response Received
COMPLETED: CDN$ 500.00 was successfully transferred from A/C# 11111-01234 to A/C# 99999-05678
現(xiàn)在你可以確信Web服務(wù)真的起來了并且工作正常。
你可以嘗試傳入不同的數(shù)據(jù)。你可以輸入類似于下面的URL
http://localhost:8080/websvc/ws?from=11-2345&to=77
-
9876&amt=250.00&cur=EUR
.
Web服務(wù)開發(fā)的基本步驟
下面列出了使用XFire開發(fā)Web服務(wù)的基本步驟:
1、檢驗Java類的方法和構(gòu)造函數(shù)時公共的;
2、將XFire Servlet相關(guān)的入口添加到web.xml中;
3、創(chuàng)建services.xml并把它放到WEB-INF/classes/META-INF/xfire目錄下;
4、將Xfire和其他第三方庫添加到你的Web應(yīng)用的WEB-INF/lib 目錄下。
OK,這就是全部要做,就是這么簡單。
posted on 2006-05-16 09:43
學二的貓
閱讀(5533)
評論(6)
編輯
收藏
所屬分類:
Java禪機
評論:
#
re: XFire:開發(fā)Web服務(wù)的簡易之道(三)--開發(fā)客戶端程序 2006-05-16 10:54 |
Harryson
我在TOMCAT下發(fā)現(xiàn)如下的信息:264344311 [http-8088-Processor22] ERROR example.WsClient - WsClient.callWebServ
ice(): EXCEPTION: org.codehaus.xfire.XFireRuntimeException: Could not invoke ser
vice.. Nested exception is org.codehaus.xfire.fault.XFireFault: Couldn't send me
ssage.似乎有點問題,請指點!
回復(fù)
更多評論
#
re: XFire:開發(fā)Web服務(wù)的簡易之道(三)--開發(fā)客戶端程序 2006-06-03 16:18 |
Apollo
不錯,夠簡單,獲益匪淺
不過,能不能講一下用xfire自動生成客戶端程序。我弄了一上午也沒出來.
希望可以與你交流下哈
msn:Apollo_zhc@hotmail.com
回復(fù)
更多評論
#
re: XFire:開發(fā)Web服務(wù)的簡易之道(三)--開發(fā)客戶端程序[未登錄] 2008-08-12 13:59 |
alex
太膚淺
回復(fù)
更多評論
#
re: XFire:開發(fā)Web服務(wù)的簡易之道(三)--開發(fā)客戶端程序 2009-05-02 21:50 |
sc
寫得好,是我需要的。
回復(fù)
更多評論
#
re: XFire:開發(fā)Web服務(wù)的簡易之道(三)--開發(fā)客戶端程序 2011-11-02 02:06 |
lisongandy
Service serviceModel = new ObjectServiceFactory().create(IBankingService.class);
在實際中,開發(fā)者是不可能知道元數(shù)據(jù)接口IBankingService.class的,那么該如何創(chuàng)建元數(shù)據(jù)呢?
回復(fù)
更多評論
#
re: XFire:開發(fā)Web服務(wù)的簡易之道(三)--開發(fā)客戶端程序
2011-11-02 02:07 |
lisongandy
特指客戶端開發(fā)者
回復(fù)
更多評論
新用戶注冊
刷新評論列表
只有注冊用戶
登錄
后才能發(fā)表評論。
網(wǎng)站導航:
博客園
IT新聞
Chat2DB
C++博客
博問
管理
相關(guān)文章:
在JDK6.0中用StAX解析XML
Java與模型驅(qū)動架構(gòu)(MDA)
使用Robot類創(chuàng)建自己的Java版屏幕捕捉程序
在Java中模擬多重繼承--擴展多個類的技巧
XFire:開發(fā)Web服務(wù)的簡易之道(三)--開發(fā)客戶端程序
XFire:開發(fā)Web服務(wù)的簡易之道(二)--Web應(yīng)用的部署描述
XFire:開發(fā)Web服務(wù)的簡易之道(一)--XFire簡介
<
2006年6月
>
日
一
二
三
四
五
六
28
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
6
7
8
常用鏈接
我的隨筆
我的評論
我的參與
最新評論
留言簿
(5)
給我留言
查看公開留言
查看私人留言
隨筆分類
Groovy(6)
J2ME(5)
Java感覺(1)
Java禪機(7)
數(shù)據(jù)庫技術(shù)(4)
有話要說(4)
設(shè)計模式(2)
軟件工程(3)
隨筆檔案
2006年6月 (5)
2006年5月 (9)
2006年4月 (16)
相冊
PIC
我的主頁
我的個人主頁
->My Homepage<-
積分與排名
積分 - 100839
排名 - 573
最新評論
1.?re: 使用Robot類創(chuàng)建自己的Java版屏幕捕捉程序
求一份源代碼,學習學習。謝謝版主.我的郵箱是865007837@qq.com
--莫煜
2.?re: 使用Robot類創(chuàng)建自己的Java版屏幕捕捉程序
yes,學習了,
--hiv
3.?re: 使用Robot類創(chuàng)建自己的Java版屏幕捕捉程序
求一份源代碼,學習學習。謝謝版主。
我的郵箱是rentent@163.com
--rentent
4.?re: 使用Robot類創(chuàng)建自己的Java版屏幕捕捉程序
求一份源代碼,學習學習。謝謝版主。
我的郵箱是hityujiaming@163.com
--yujiaming
5.?re: 使用Robot類創(chuàng)建自己的Java版屏幕捕捉程序[未登錄]
348472012@qq.com
--記憶碎片
閱讀排行榜
1.?Groovy全攻略--嵌入篇(10647)
2.?[Flash教程]ClearCase教程--開發(fā)人員加入ClearCase項目(8856)
3.?在Java中模擬多重繼承--擴展多個類的技巧(8352)
4.?Eclipse3.1.1+EclipseME1.5+WTK2.2搭建J2ME開發(fā)環(huán)境(7354)
5.?XFire:開發(fā)Web服務(wù)的簡易之道(三)--開發(fā)客戶端程序(5532)
評論排行榜
1.?使用Robot類創(chuàng)建自己的Java版屏幕捕捉程序(72)
2.?在Java中模擬多重繼承--擴展多個類的技巧(6)
3.?XFire:開發(fā)Web服務(wù)的簡易之道(三)--開發(fā)客戶端程序(6)
4.?用Sprite編寫J2ME程序--第三章 用精靈實現(xiàn)動畫(6)
5.?Groovy指南--(2) 閉包Closure(非正式)(4)
Powered by:
博客園
模板提供:
滬江博客
Copyright ©2025 學二的貓
主站蜘蛛池模板:
国产青草视频免费观看97
|
今天免费中文字幕视频
|
免费看国产成年无码AV片
|
亚洲综合婷婷久久
|
日本xxxx色视频在线观看免费
|
在线亚洲97se亚洲综合在线
|
精精国产www视频在线观看免费
|
亚洲日韩乱码中文无码蜜桃臀网站
|
一级毛片在播放免费
|
亚洲色偷偷狠狠综合网
|
一个人免费播放在线视频看片
|
亚洲美女高清一区二区三区
|
国产精品成人免费观看
|
亚洲男同帅GAY片在线观看
|
久久免费视频99
|
亚洲人成网站日本片
|
在线免费观看毛片网站
|
免费观看又污又黄在线观看
|
相泽亚洲一区中文字幕
|
久久精品中文字幕免费
|
亚洲AV色吊丝无码
|
免费国产成人午夜电影
|
中文字幕在线成人免费看
|
亚洲伊人久久大香线蕉苏妲己
|
成视频年人黄网站免费视频
|
国产亚洲欧美日韩亚洲中文色
|
亚洲天堂免费在线视频
|
日韩免费电影网址
|
亚洲伦理中文字幕
|
亚洲精品亚洲人成在线观看下载
|
久久久精品午夜免费不卡
|
亚洲一卡二卡三卡四卡无卡麻豆
|
国产精品免费看香蕉
|
免费在线黄色电影
|
亚洲国产区男人本色在线观看
|
四虎1515hm免费国产
|
久久久久久成人毛片免费看
|
中文字幕在线观看亚洲视频
|
亚洲一级片免费看
|
国产精品久久免费
|
久久性生大片免费观看性
|