1、編寫一個(gè)簡單的WebService的服務(wù)器端代碼,代碼如下:
代碼
注意,上面的HelloWorldService是沒有package的。Copy這個(gè)類的class文件,放到tomcat目錄下的webapps的axis2的WEB-INF目錄的pojo文件夾下。如果沒有pojo這個(gè)目錄就手動(dòng)創(chuàng)建一個(gè)一個(gè)文件夾。然后在瀏覽器輸入: http://localhost:8080/axis2/
點(diǎn)擊Services的鏈接就可以看到我們手動(dòng)發(fā)布的HelloWorldService了,或者是瀏覽器地址欄輸入: http://localhost:8080/axis2/services/listServices
你就可以看到你剛才粘貼過去的這個(gè)WebService了。
點(diǎn)擊鏈接就可以看到wsdl文件的內(nèi)容了。內(nèi)容很多,如果你看過axis1.x的介紹就知道wsdl文件的大致結(jié)構(gòu)了。
下面講解下為什么要將class放在pojo文件夾下。首先我們看看[tomcat_home]/webapps/axis2/WEB-INF/conf/axis2.xml
該文件中有這樣一行代碼:
<deployer extension=".class" directory="pojo" class="org.apache.axis2.deployment.POJODeployer"/>
.class的后綴文件放在目錄pojo目錄下。
2、測試這個(gè)WebService的方法
復(fù)制上面的HelloWorldService的鏈接地址,然后帶上方法名稱和參數(shù)值即可測試調(diào)用是否成功。如下:
http://localhost:8080/axis2/services/HelloWorldService/sayHello?name=jack
http://localhost:8080/axis2/services/HelloWorldService 這個(gè)是WebService的地址
/sayHello是方法名稱,?name=jack是參數(shù)名稱和值
在瀏覽器中輸入上面的地址后,可以看到如下效果:
可以看到返回值,和方法名稱。ns:sayHelloResponse是方法名稱,所有的方法名稱后都會(huì)帶上Response,后面的ns當(dāng)然是當(dāng)前方法所在的類的包名了,這里沒有package就是默認(rèn)的axis2的域名。
同樣,getAge方法,也是一樣的調(diào)用方法。
http://localhost:8080/axis2/services/HelloWorldService/getAge?i=22
結(jié)果如下:
3、下面我們看下客戶端調(diào)用代碼的編寫,代碼如下:
代碼
如果你了解或是 看過axis1.x的WebService ,這里的客戶端調(diào)用代碼比較簡單,有部分關(guān)鍵注釋,這里就不多加贅述。值得注意的是axis2的WebService客戶端調(diào)用的返回對象是一個(gè)Object的數(shù)組,這點(diǎn)和axis1.x有很大不同。我們一般拿數(shù)組的第一個(gè)值,轉(zhuǎn)換強(qiáng)轉(zhuǎn)即可。
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
