中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

WebService-—調用第三方提供的webService服務

發布時間:2020-07-04 11:07:09 來源:網絡 閱讀:548 作者:lzf05303774 欄目:開發技術

互聯網上面有很多的免費webService服務,我們可以調用這些免費的WebService服務,將一些其他網站的內容信息集成到我們的Web應用中顯示,下面就以獲取天氣預報數據和查詢國內手機號碼歸屬地為例進行說明。

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

一、 調用免費的web service獲取天氣預報信息

1.1、找到提供天氣預報信息的Webservice的網絡地址

  http://webservice.webxml.com.cn/WebServices/WeatherWS.asmx 訪問結果如下圖所示:

  WebService-—調用第三方提供的webService服務

  找到WebService的wsdl描述,通過URL地址http://webservice.webxml.com.cn/WebServices/WeatherWS.asmx?wsdl:如下:

  WebService-—調用第三方提供的webService服務

1.2、客戶端編碼方式訪問第三方提供的webService服務

  1、借助wsimport命令工具自動生成客戶端代碼

  創建一個測試項目,如下:

  WebService-—調用第三方提供的webService服務

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

  WebService-—調用第三方提供的webService服務

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

  1. 將對應的wsdl文檔保存到本地

  WebService-—調用第三方提供的webService服務

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

  WebService-—調用第三方提供的webService服務

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

  WebService-—調用第三方提供的webService服務

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

  WebService-—調用第三方提供的webService服務

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

WebService-—調用第三方提供的webService服務

 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         //創建一個WeatherWS工廠13         WeatherWS factory = new WeatherWS();14         //根據工廠創建一個WeatherWSSoap對象15         WeatherWSSoap weatherWSSoap = factory.getWeatherWSSoap();16         //調用WebService提供的getWeather方法獲取南寧市的天氣預報情況17         ArrayOfString weatherInfo = weatherWSSoap.getWeather("南寧", null);18         List<String> lstWeatherInfo = weatherInfo.getString();19         //遍歷天氣預報信息20         for (String string : lstWeatherInfo) {21             System.out.println(string);22             System.out.println("------------------------");23         }24     }25 }

WebService-—調用第三方提供的webService服務

  訪問結果如下:

WebService-—調用第三方提供的webService服務

廣西 南寧
------------------------
南寧
------------------------
2391
------------------------
2015/01/29 19:00:49
------------------------
今日天氣實況:暫無實況
------------------------
空氣質量:暫無;紫外線強度:最弱
------------------------
太陽鏡指數:不需要。白天光線弱不需要佩戴太陽鏡。
穿衣指數:較舒適。建議穿薄外套或牛仔褲等服裝。
旅游指數:適宜。溫度適宜,可盡情享受大自然風光。
運動指數:較適宜。較適宜進行各種戶內外運動。
洗車指數:不宜。有雨,雨水和泥水會弄臟愛車。
化妝指數:保濕。請選用中性保濕型霜類化妝品。
感冒指數:較易發。天較涼,增加衣服,注意防護。
空氣污染指數:暫無。
紫外線指數:最弱。輻射弱,涂擦SPF8-12防曬護膚品。
舒適度指數:舒適。白天不冷不熱,風力不大。

------------------------
1月29日 多云
------------------------
11℃/15℃
------------------------
東北風微風
------------------------
1.gif
------------------------
1.gif
------------------------
1月30日 小雨轉陰
------------------------
10℃/15℃
------------------------
東北風微風
------------------------
7.gif
------------------------
2.gif
------------------------
1月31日 多云
------------------------
11℃/13℃
------------------------
東北風微風
------------------------
1.gif
------------------------
1.gif
------------------------
2月1日 多云
------------------------
12℃/17℃
------------------------
東北風微風
------------------------
1.gif
------------------------
1.gif
------------------------
2月2日 陰轉多云
------------------------
13℃/18℃
------------------------
東北風微風
------------------------
2.gif
------------------------
1.gif
------------------------

WebService-—調用第三方提供的webService服務

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

二、 調用免費的web service查詢國內手機號碼歸屬地

2.1、找到提供服務的Webservice的網絡地址

  http://webservice.webxml.com.cn/WebServices/MobileCodeWS.asmx 如下所示:

  WebService-—調用第三方提供的webService服務

  找到WebService的wsdl描述信息,通過URL地址http://webservice.webxml.com.cn/WebServices/MobileCodeWS.asmx?wsdl:如下:

  WebService-—調用第三方提供的webService服務

2.2、編寫客戶端訪問調用WebService服務

1、創建客戶端項目

  WebService-—調用第三方提供的webService服務

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

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

  WebService-—調用第三方提供的webService服務

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

  WebService-—調用第三方提供的webService服務

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

WebService-—調用第三方提供的webService服務

 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         //創建一個MobileCodeWS工廠10         MobileCodeWS factory = new MobileCodeWS();11         //根據工廠創建一個MobileCodeWSSoap對象12         MobileCodeWSSoap mobileCodeWSSoap = factory.getMobileCodeWSSoap();13         ////調用WebService提供的getMobileCodeInfo方法查詢手機號碼的歸屬地14         String searchResult = mobileCodeWSSoap.getMobileCodeInfo("15177196635", null);15         System.out.println(searchResult);16     }17 }

WebService-—調用第三方提供的webService服務

  運行結果如下:
  WebService-—調用第三方提供的webService服務

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

  以上就是如何調用第三方WebService的相關內容。


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

全州县| 长泰县| 和田市| 房产| 甘南县| 拉孜县| 临西县| 郁南县| 方城县| 海门市| 湖口县| 达州市| 晋城| 桃江县| 布拖县| 汉寿县| 富川| 米林县| 博兴县| 南宁市| 奈曼旗| 资中县| 儋州市| 屏东市| 偃师市| 连州市| 平遥县| 遂平县| 哈巴河县| 万载县| 九寨沟县| 南陵县| 肥西县| 莱阳市| 扎赉特旗| 保定市| 石泉县| 福贡县| 呼玛县| 项城市| 左权县|