網際網路上面有很多的免費webService服務,我們可以調用這些免費的WebService服務,将一些其他網站的内容資訊內建到我們的Web應用中顯示,下面就以擷取天氣預報資料和查詢國内手機号碼歸屬地為例進行說明。
氣象中心的管理系統将收集的天氣資訊并将資料暴露出來(通過WebService Server), 而各大站點的應用就去調用它們得到天氣資訊并以不同的樣式去展示(WebService Client).

1、借助wsimport指令工具自動生成用戶端代碼
建立一個測試項目,如下:
運作結果顯示,使用wsimport工具直接生成用戶端代碼會抛異常, 無法生成用戶端代碼, 隻是因為我們要調用的WebService是用.net寫的,這個是Java調用net的webservice都有的問題,這個問題的解決辦法如下:
将對應的wsdl文檔儲存到本地
2、修改wsdl文檔的部分内容:将 <s:element ref="s:schema" /><s:any /> 替換成 <s:any minOccurs="2" maxOccurs="2"/>
再次執行wsimport生成代碼,這次使用儲存在本地的WeatherWS.wsdl檔案來進行生成,如下圖所示:
從執行結果顯示,這一次可以正常生成代碼了,重新整理一下src目錄,就可以看到生成的代碼了,如下圖所示:
2、借助生成的代碼編寫請求代碼
通路結果如下:
這樣,我們通過生成的Client代碼調用了第三方提供的webService服務擷取到了南甯市的天氣預報資訊。
1、建立用戶端項目
2、根據WebService的wsdl描述生成用戶端代碼
這次可以直接使用wsdl生成代碼,不再需要将wsdl檔案下載下傳到本地進行修改了,這個WebService應該不是使用.net寫的,生成的代碼如下:
3、借助生成的代碼編寫請求代碼
運作結果如下:
這樣我們調用第三方提供的WebService服務成功查詢到了手機号碼的歸宿地。
以上就是如何調用第三方WebService的相關内容。
本文轉自lzf0530377451CTO部落格,原文連結:http://blog.51cto.com/8757576/1872895 ,如需轉載請自行聯系原作者