java调用第三方的webservice应用实例
互聯網上面有很多的免費webService服務,我們可以調用這些免費的WebService服務,將一些其他網站的內容信息集成到我們的Web應用中顯示。
?
一些常用的webservice網站的鏈接地址: ? ? ? ??http://www.tuicool.com/articles/iIfqma
?
?
一:調用免費的web service獲取天氣預報信息 ? ?
1.第三方服務地址
http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?
?
?
??http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl
?
?
2.生成本地樁(借助wsimport命令工具自動生成客戶端代碼)
?
?
?打開命令行窗口,切換到項目的src目錄,執行"wsimport -keep?http://webservice.webxml.com.cn/WebServices/WeatherWS.asmx?wsdl"生成客戶端代碼,如下圖所示:
?
?
?
運行結果顯示,使用wsimport工具直接生成客戶端代碼會拋異常, 無法生成客戶端代碼,?只是因為我們要調用的WebService是用.net寫的,這個是Java調用net的webservice都有的問題,這個問題的解決辦法如下:
2、修改wsdl文檔的部分內容:將?<s:element ref="s:schema" /><s:any />?替換成?<s:any minOccurs="2" maxOccurs="2"/>
再次執行wsimport生成代碼,這次使用保存在本地的WeatherWS.wsdl文件來進行生成,如下圖所示:
從執行結果顯示,這一次可以正常生成代碼了,刷新一下src目錄,就可以看到生成的代碼了,如下圖所示:
?
?3.借助生成的代碼編寫請求代碼
?
package me.gacl.ws.client;import java.util.List;import org.junit.Test;import cn.com.webxml.ArrayOfString; import cn.com.webxml.WeatherWebService; import cn.com.webxml.WeatherWebServiceSoap;public class WeatherWSClient {public static void main(String[] args) {// 創建一個WeatherWS工廠WeatherWebService factory = new WeatherWebService();// 根據工廠創建一個WeatherWSSoap對象WeatherWebServiceSoap weatherWSSoap = factory.getWeatherWebServiceSoap();// 調用WebService提供的getWeather方法獲取南寧市的天氣預報情況ArrayOfString weatherInfo = weatherWSSoap.getWeatherbyCityName("上海");List<String> lstWeatherInfo = weatherInfo.getString();// 遍歷天氣預報信息for (String string : lstWeatherInfo) {System.out.println(string);System.out.println("------------------------");}}//支持的行政市 @Testpublic void Test() {// 創建一個WeatherWS工廠WeatherWebService factory = new WeatherWebService();// 根據工廠創建一個WeatherWSSoap對象WeatherWebServiceSoap weatherWSSoap = factory.getWeatherWebServiceSoap();// 調用WebService提供的getWeather方法獲取南寧市的天氣預報情況ArrayOfString weatherInfo = weatherWSSoap.getSupportProvince();List<String> lstWeatherInfo = weatherInfo.getString();// 遍歷天氣預報信息for (String string : lstWeatherInfo) {System.out.println(string);System.out.println("------------------------");}}}?
?測試結果:
直轄市 ------------------------ 上海 ------------------------ 58367 ------------------------ 58367.jpg ------------------------ 2017-6-4 10:50:51 ------------------------ 21℃/28℃ ------------------------ 6月4日 晴轉多云 ------------------------ 東風微風 ------------------------ 0.gif ------------------------ 1.gif ------------------------ 今日天氣實況:氣溫:26℃;風向/風力:東北風 3級;濕度:53%;紫外線強度:強。空氣質量:中。 ------------------------ 紫外線指數:強,涂擦SPF大于15、PA+防曬護膚品。 感冒指數:少發,無明顯降溫,感冒機率較低。 穿衣指數:熱,適合穿T恤、短薄外套等夏季服裝。 洗車指數:較適宜,無雨且風力較小,易保持清潔度。 運動指數:較適宜,請適當降低運動強度。 空氣污染指數:中,易感人群應適當減少室外活動。------------------------ 22℃/25℃ ------------------------ 6月5日 中雨 ------------------------ 東南風微風 ------------------------ 8.gif ------------------------ 8.gif ------------------------ 21℃/25℃ ------------------------ 6月6日 陣雨轉多云 ------------------------ 南風轉西北風微風 ------------------------ 3.gif ------------------------ 1.gif ------------------------ 上海簡稱:滬,位置:上海地處長江三角洲前緣,東瀕東海,南臨杭州灣,西接江蘇,浙江兩省,北界長江入海,正當我國南北岸線的中部,北緯31°14′,東經121°29′。面積:總面積7823.5平方公里。人口:人口1000多萬。上海豐富的人文資源、迷人的城市風貌、繁華的商業街市和歡樂的節慶活動形成了獨特的都市景觀。游覽上海,
不僅能體驗到大都市中西合壁、商儒交融、八方來風的氛圍,而且能感受到這個城市人流熙攘、車水馬龍、燈火璀璨的活力。上海在中國現代史上占有著十分重要的地位,
她是中國XXX的誕生地。許多震動中外的歷史事件在這里發生,留下了眾多的革命遺跡,處處為您講述著一個個使人永不忘懷的可歌可泣的故事,成為包含民俗的人文景
觀和紀念地。在上海,每到秋祭,紛至沓來的人們在這里祭祀先烈、緬懷革命歷史,已成為了一種風俗。大上海在中國近代歷史中,曾是風起云涌可歌可泣的地方。在這里薈
萃多少風云人物,散落在上海各處的不同住宅建筑,由于其主人的非同尋常,蘊含了耐人尋味的歷史意義。這里曾留下許多革命先烈的足跡。瞻仰孫中山、宋慶齡、魯迅等故居,
會使您產生撫今追昔的深沉遐思,這里還有無數個達官貴人的住宅,探訪一下李鴻章、蔣介石等人的公館,可以聯想起主人那段顯赫的發跡史。 ------------------------
?
?
?以上,就是一個完整的第三方的webservice服務的調用的實例。
?
總結
以上是生活随笔為你收集整理的java调用第三方的webservice应用实例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 全新 Win 9 概念 界面漂亮极了
- 下一篇: 简单的信誉算法 js处理