日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

WebService客户端开发(Axis2 1.5)

發(fā)布時(shí)間:2023/12/15 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 WebService客户端开发(Axis2 1.5) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
WebService的客戶端開發(fā)方式很多,如果單純?yōu)榱耸褂靡粋€(gè)WebService,而不想依賴太多的框架,那么隨便選擇個(gè)WebService框架就可以了。 為了封裝方便,代碼復(fù)用,更好的性能,一般選擇客戶端存根方式來開發(fā)。 開發(fā)環(huán)境: Idea-8.13 Axis2-1.5 JDK-1.5 一、建立java項(xiàng)目 建立項(xiàng)目后,創(chuàng)建存根存放包。 按照如下圖配置: 一定要選擇ADB方式,ADB綁定方式生成的類最少,易于管理。 二、生成代碼 按照如上圖設(shè)置后,點(diǎn)OK,就生成好了,連單元測試的代碼都封裝好了。 說真的,生成后的代碼直接看就傻眼了,看不出個(gè)頭緒來。 三、看懂Axis2存根代碼 Axis2生成的存根代碼雖然復(fù)雜,但是有規(guī)律的,只要你搞明白生成的原理,再看生成后的代碼,就會恍然大悟。 生成原理: 1、Axis將每個(gè)發(fā)布的服務(wù)生成一個(gè)對應(yīng)的存根類,比如原來我的服務(wù)名為myws,那么生成后的存根就是MywsStub。 2、Axis將服務(wù)中每個(gè)方法生成一個(gè)存根下的內(nèi)部類。 比如: 在服務(wù)端有這樣的方法:public String doSomething(String taskname) 那么,生成的客戶端中會有這樣一個(gè)類: MywsStub.DoSomething 這個(gè)類中還有自己的成員,成員即為原方法的參數(shù)。 四、封裝客戶端代碼 一般來說,生成的WebService客戶端代碼都相當(dāng)?shù)膩y,如果不懂規(guī)律,根本無法閱讀。為了更好更方便更容易的調(diào)用WS服務(wù),需要對客戶端代碼做進(jìn)一步的封裝。封裝的點(diǎn)如下: 1、將存根中固定ip、端口改為變量。同時(shí)需要修改存根的構(gòu)造方法。 2、構(gòu)建一個(gè)和服務(wù)端對等的客戶端類,并在其中的每個(gè)方法中再增加兩個(gè)參數(shù):ip和端口。 3、根據(jù)生成原理對客戶端代碼做更進(jìn)一步封裝。 4、發(fā)布客戶端的jar。 按照以上的步驟,修改存根的構(gòu)造方法。 并做進(jìn)一步封裝,封裝代碼如下: /**?
* WS客戶端封裝代碼?
*?
* @author leizhimin 2009-8-5 13:10:23?
*/
?
public?class?MywsClient {?
????????public?String doSomething(String taskname,String wsip,String port)?throws?Exception {?
????????????????MywsStub stub =?new?MywsStub(wsip,port);?
????????????????MywsStub.DoSomething opt =?new?MywsStub.DoSomething();?
????????????????opt.setTaskname(taskname);?
????????????????return?stub.doSomething(opt).get_return();?
????????}?

????????public?static?void?main(String[] args)?throws?Exception {?
????????????????MywsClient client =?new?MywsClient();?
????????????????String rs = client.doSomething("xxx","192.168.14.117","8080");?
????????????????System.out.println(rs);?
????????}?
} 運(yùn)行其中main測試方法如下: xxxis finished!?

Process finished with exit code 0 看看客戶端測試截圖: 看看服務(wù)端tomcat的響應(yīng): 到此,客戶端開發(fā)過程就結(jié)束了。

本文轉(zhuǎn)自 leizhimin 51CTO博客,原文鏈接:http://blog.51cto.com/lavasoft/187993,如需轉(zhuǎn)載請自行聯(lián)系原作者

總結(jié)

以上是生活随笔為你收集整理的WebService客户端开发(Axis2 1.5)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。