java调用webservice_WebService学习总结(四)——调用第三方提供的webService服务
互聯(lián)網(wǎng)上面有很多的免費(fèi)webService服務(wù),我們可以調(diào)用這些免費(fèi)的WebService服務(wù),將一些其他網(wǎng)站的內(nèi)容信息集成到我們的Web應(yīng)用中顯示,下面就以獲取天氣預(yù)報(bào)數(shù)據(jù)和查詢國(guó)內(nèi)手機(jī)號(hào)碼歸屬地為例進(jìn)行說明。
氣象中心的管理系統(tǒng)將收集的天氣信息并將數(shù)據(jù)暴露出來(通過WebService Server), 而各大站點(diǎn)的應(yīng)用就去調(diào)用它們得到天氣信息并以不同的樣式去展示(WebService Client).
一、 調(diào)用免費(fèi)的web service獲取天氣預(yù)報(bào)信息1.1、找到提供天氣預(yù)報(bào)信息的Webservice的網(wǎng)絡(luò)地址http://webservice.webxml.com.cn/WebServices/WeatherWS.asmx 訪問結(jié)果如下圖所示:
找到WebService的wsdl描述,通過URL地址http://webservice.webxml.com.cn/WebServices/WeatherWS.asmx?wsdl:如下:
1.2、客戶端編碼方式訪問第三方提供的webService服務(wù)
1、借助wsimport命令工具自動(dòng)生成客戶端代碼
創(chuàng)建一個(gè)測(cè)試項(xiàng)目,如下:
打開命令行窗口,切換到項(xiàng)目的src目錄,執(zhí)行"wsimport -keep http://webservice.webxml.com.cn/WebServices/WeatherWS.asmx?wsdl"生成客戶端代碼,如下圖所示:
運(yùn)行結(jié)果顯示,使用wsimport工具直接生成客戶端代碼會(huì)拋異常, 無法生成客戶端代碼, 只是因?yàn)槲覀円{(diào)用的WebService是用.net寫的,這個(gè)是Java調(diào)用net的webservice都有的問題,這個(gè)問題的解決辦法如下:
2、修改wsdl文檔的部分內(nèi)容:將 <s:element ref="s:schema" /><s:any /> 替換成 <s:any minOccurs="2" maxOccurs="2"/>
再次執(zhí)行wsimport生成代碼,這次使用保存在本地的WeatherWS.wsdl文件來進(jìn)行生成,如下圖所示:
從執(zhí)行結(jié)果顯示,這一次可以正常生成代碼了,刷新一下src目錄,就可以看到生成的代碼了,如下圖所示:
2、借助生成的代碼編寫請(qǐng)求代碼
訪問結(jié)果如下:
這樣,我們通過生成的Client代碼調(diào)用了第三方提供的webService服務(wù)獲取到了南寧市的天氣預(yù)報(bào)信息。
二、 調(diào)用免費(fèi)的web service查詢國(guó)內(nèi)手機(jī)號(hào)碼歸屬地2.1、找到提供服務(wù)的Webservice的網(wǎng)絡(luò)地址http://webservice.webxml.com.cn/WebServices/MobileCodeWS.asmx 如下所示:
找到WebService的wsdl描述信息,通過URL地址http://webservice.webxml.com.cn/WebServices/MobileCodeWS.asmx?wsdl:如下:
2.2、編寫客戶端訪問調(diào)用WebService服務(wù)
1、創(chuàng)建客戶端項(xiàng)目
2、根據(jù)WebService的wsdl描述生成客戶端代碼
打開命令行窗口,切換到Phone_Client的src目錄,執(zhí)行wsimport -keep http://webservice.webxml.com.cn/WebServices/MobileCodeWS.asmx?wsdl 如下圖所示:
這次可以直接使用wsdl生成代碼,不再需要將wsdl文件下載到本地進(jìn)行修改了,這個(gè)WebService應(yīng)該不是使用.net寫的,生成的代碼如下:
3、借助生成的代碼編寫請(qǐng)求代碼
運(yùn)行結(jié)果如下:
這樣我們調(diào)用第三方提供的WebService服務(wù)成功查詢到了手機(jī)號(hào)碼的歸宿地。
以上就是如何調(diào)用第三方WebService的相關(guān)內(nèi)容。
總結(jié)
以上是生活随笔為你收集整理的java调用webservice_WebService学习总结(四)——调用第三方提供的webService服务的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 单脉冲雷达的相干干扰的研究文章_什么是量
- 下一篇: 搜狗浏览器收藏夹在哪_是时候换个快速安全