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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

[置顶]WebService学习总结(4)——第三方webService服务调用

發(fā)布時間:2025/6/15 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [置顶]WebService学习总结(4)——第三方webService服务调用 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

互聯(lián)網(wǎng)上面有很多的免費webService服務(wù),我們可以調(diào)用這些免費的WebService服務(wù),將一些其他網(wǎng)站的內(nèi)容信息集成到我們的Web應(yīng)用中顯示,下面就以獲取天氣預(yù)報數(shù)據(jù)和查詢國內(nèi)手機號碼歸屬地為例進行說明。

  氣象中心的管理系統(tǒng)將收集的天氣信息并將數(shù)據(jù)暴露出來(通過WebService Server), 而各大站點的應(yīng)用就去調(diào)用它們得到天氣信息并以不同的樣式去展示(WebService Client).

一、?調(diào)用免費的web service獲取天氣預(yù)報信息

1.1、找到提供天氣預(yù)報信息的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命令工具自動生成客戶端代碼

  創(chuàng)建一個測試項目,如下:

  

  打開命令行窗口,切換到項目的src目錄,執(zhí)行"wsimport -keep?http://webservice.webxml.com.cn/WebServices/WeatherWS.asmx?wsdl"生成客戶端代碼,如下圖所示:

  

  運行結(jié)果顯示,使用wsimport工具直接生成客戶端代碼會拋異常, 無法生成客戶端代碼,?只是因為我們要調(diào)用的WebService是用.net寫的,這個是Java調(diào)用net的webservice都有的問題,這個問題的解決辦法如下:

  • 將對應(yīng)的wsdl文檔保存到本地
  •   

      2、修改wsdl文檔的部分內(nèi)容:?<s:element ref="s:schema" /><s:any />?替換成?<s:any minOccurs="2" maxOccurs="2"/>

      

      再次執(zhí)行wsimport生成代碼,這次使用保存在本地的WeatherWS.wsdl文件來進行生成,如下圖所示:

      

      從執(zhí)行結(jié)果顯示,這一次可以正常生成代碼了,刷新一下src目錄,就可以看到生成的代碼了,如下圖所示:

      

    2、借助生成的代碼編寫請求代碼

    1 package me.gacl.ws.client; 2 3 import java.util.List; 4 5 import cn.com.webxml.ArrayOfString; 6 import cn.com.webxml.WeatherWS; 7 import cn.com.webxml.WeatherWSSoap; 8 9 public class WeatherWSClient { 10 11 public static void main(String[] args) { 12 //創(chuàng)建一個WeatherWS工廠 13 WeatherWS factory = new WeatherWS(); 14 //根據(jù)工廠創(chuàng)建一個WeatherWSSoap對象 15 WeatherWSSoap weatherWSSoap = factory.getWeatherWSSoap(); 16 //調(diào)用WebService提供的getWeather方法獲取南寧市的天氣預(yù)報情況 17 ArrayOfString weatherInfo = weatherWSSoap.getWeather("南寧", null); 18 List<String> lstWeatherInfo = weatherInfo.getString(); 19 //遍歷天氣預(yù)報信息 20 for (String string : lstWeatherInfo) { 21 System.out.println(string); 22 System.out.println("------------------------"); 23 } 24 } 25 }

      訪問結(jié)果如下:

    廣西 南寧 ------------------------ 南寧 ------------------------ 2391 ------------------------ 2015/01/29 19:00:49 ------------------------ 今日天氣實況:暫無實況 ------------------------ 空氣質(zhì)量:暫無;紫外線強度:最弱 ------------------------ 太陽鏡指數(shù):不需要。白天光線弱不需要佩戴太陽鏡。 穿衣指數(shù):較舒適。建議穿薄外套或牛仔褲等服裝。 旅游指數(shù):適宜。溫度適宜,可盡情享受大自然風(fēng)光。 運動指數(shù):較適宜。較適宜進行各種戶內(nèi)外運動。 洗車指數(shù):不宜。有雨,雨水和泥水會弄臟愛車。 化妝指數(shù):保濕。請選用中性保濕型霜類化妝品。 感冒指數(shù):較易發(fā)。天較涼,增加衣服,注意防護。 空氣污染指數(shù):暫無。 紫外線指數(shù):最弱。輻射弱,涂擦SPF8-12防曬護膚品。 舒適度指數(shù):舒適。白天不冷不熱,風(fēng)力不大。------------------------ 1月29日 多云 ------------------------ 11℃/15℃ ------------------------ 東北風(fēng)微風(fēng) ------------------------ 1.gif ------------------------ 1.gif ------------------------ 1月30日 小雨轉(zhuǎn)陰 ------------------------ 10℃/15℃ ------------------------ 東北風(fēng)微風(fēng) ------------------------ 7.gif ------------------------ 2.gif ------------------------ 1月31日 多云 ------------------------ 11℃/13℃ ------------------------ 東北風(fēng)微風(fēng) ------------------------ 1.gif ------------------------ 1.gif ------------------------ 2月1日 多云 ------------------------ 12℃/17℃ ------------------------ 東北風(fēng)微風(fēng) ------------------------ 1.gif ------------------------ 1.gif ------------------------ 2月2日 陰轉(zhuǎn)多云 ------------------------ 13℃/18℃ ------------------------ 東北風(fēng)微風(fēng) ------------------------ 2.gif ------------------------ 1.gif ------------------------

      這樣,我們通過生成的Client代碼調(diào)用了第三方提供的webService服務(wù)獲取到了南寧市的天氣預(yù)報信息。

    二、?調(diào)用免費的web service查詢國內(nèi)手機號碼歸屬地

    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)建客戶端項目

      

    2、根據(jù)WebService的wsdl描述生成客戶端代碼

      打開命令行窗口,切換到Phone_Client的src目錄,執(zhí)行wsimport -keep?http://webservice.webxml.com.cn/WebServices/MobileCodeWS.asmx?wsdl?如下圖所示:

      

      這次可以直接使用wsdl生成代碼,不再需要將wsdl文件下載到本地進行修改了,這個WebService應(yīng)該不是使用.net寫的,生成的代碼如下:

      

      3、借助生成的代碼編寫請求代碼

    1 package me.gacl.ws.client; 2 3 import cn.com.webxml.MobileCodeWS; 4 import cn.com.webxml.MobileCodeWSSoap; 5 6 public class PhoneWsClient { 7 8 public static void main(String[] args) { 9 //創(chuàng)建一個MobileCodeWS工廠 10 MobileCodeWS factory = new MobileCodeWS(); 11 //根據(jù)工廠創(chuàng)建一個MobileCodeWSSoap對象 12 MobileCodeWSSoap mobileCodeWSSoap = factory.getMobileCodeWSSoap(); 13 調(diào)用WebService提供的getMobileCodeInfo方法查詢手機號碼的歸屬地 14 String searchResult = mobileCodeWSSoap.getMobileCodeInfo("15177196635", null); 15 System.out.println(searchResult); 16 } 17 }

      運行結(jié)果如下:
      

      這樣我們調(diào)用第三方提供的WebService服務(wù)成功查詢到了手機號碼的歸宿地。

      以上就是如何調(diào)用第三方WebService的相關(guān)內(nèi)容。

    轉(zhuǎn)載于:https://www.cnblogs.com/zhanghaiyang/p/7213149.html

    總結(jié)

    以上是生活随笔為你收集整理的[置顶]WebService学习总结(4)——第三方webService服务调用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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