Java調用免費的WebService示例【天氣預報】【國內手機號碼歸屬地查詢】

1.免費的WebService地址:http://www.webxml.com.cn/zh_cn/index.aspxhtml

 提供了例如:天氣預報,手機歸屬地查詢等不少Web服務。java

2.調用天氣預報服務示例:web

 使用JDK自帶的wsimport命令生成客戶端代碼:網絡

 wsimport -keep http://webservice.webxml.com.cn/WebServices/WeatherWS.asmx?wsdl eclipse

發現拋出以下異常:測試

後來在網上找到了http://blog.sina.com.cn/s/blog_4c925dca01014y3r.html這篇博客解決了問題,就是將網絡上的WSDL文件先保存到本地例如E:\WSDL\weather.wsdl而後將文件中全部 <s:element ref="s:schema" /><s:any /> 替換成 <s:any minOccurs="2" maxOccurs="2"/>便可。spa

再次使用wsimport命令生成客戶端代碼,此次使用本地修改好的WSDL文件來生成命令以下:orm

wsimport -keep E:\WSDL\weather.wsdlxml

能夠看到在當前目錄下生成了不少Java類,將這些類複製到eclipse項目如圖:htm

下面編寫一個測試類來調用生成的客戶端代碼,獲取天氣預報信息

package cn.com.weatcher;

import java.util.List;

import cn.com.webxml.ArrayOfString;
import cn.com.webxml.WeatherWS;
import cn.com.webxml.WeatherWSSoap;

public class WeatherClient {

 public static void main(String[] args) {
  WeatherWS fs = new WeatherWS();
  WeatherWSSoap soap = fs.getWeatherWSSoap();
  ArrayOfString aString = soap.getWeather("深圳", null);
  List<String> string = aString.getString();
  System.out.println(string);
 }
}

 

控制檯輸入結果以下:

[廣東 深圳, 深圳, 2419, 2015/01/31 16:15:18, 今日天氣實況:氣溫:16℃;風向/風力:東北風 2級;溼度:62%, 空氣質量:暫無;紫外線強度:弱, 太陽鏡指數:須要。白天根據戶外光線狀況佩戴太陽鏡。
穿衣指數:較溫馨。建議穿薄外套或牛仔褲等服裝。
旅遊指數:適宜。天氣較好,絲絕不會影響您出行的心情。
運動指數:較適宜。氣溫較低,推薦您進行室內運動。
洗車指數:較適宜。無雨且風力較小,易保持清潔度。
化妝指數:保溼。請選用中性保溼型霜類化妝品。
感冒指數:較易發。天較涼,增長衣服,注意防禦。
空氣污染指數:暫無。
紫外線指數:弱。輻射較弱,塗擦SPF12-1五、PA+護膚品。
溫馨度指數:溫馨。白天不冷不熱,風力不大。
, 1月31日 多雲, 13℃/18℃, 無持續風向微風, 1.gif, 1.gif, 2月1日 多雲, 13℃/21℃, 無持續風向微風, 1.gif, 1.gif, 2月2日 多雲, 14℃/22℃, 無持續風向微風, 1.gif, 1.gif, 2月3日 多雲, 14℃/19℃, 無持續風向微風, 1.gif, 1.gif, 2月4日 多雲, 15℃/21℃, 無持續風向微風, 1.gif, 1.gif]
3.國內手機號碼歸屬地查詢WEB服務
http://webservice.webxml.com.cn/WebServices/MobileCodeWS.asmx?wsdl

執行以下命令:

wsimport -keep http://webservice.webxml.com.cn/WebServices/MobileCodeWS.asmx?wsdl

將生成的客戶端代碼複製到Eclipse項目中如圖:

編寫測試類測試:

 

package cn.com.mobile;

import cn.com.webxml.MobileCodeWS;
import cn.com.webxml.MobileCodeWSSoap;

public class MobileTest {

 public static void main(String[] args) {
  MobileCodeWS mobileCodeWS = new MobileCodeWS();
  MobileCodeWSSoap mobileCodeWSSoap = mobileCodeWS.getMobileCodeWSSoap();
  String mobileCodeInfo = mobileCodeWSSoap.getMobileCodeInfo("18617054380", null);
  System.out.println(mobileCodeInfo);
 }
}

 

控制檯輸入以下信息:

13430448863:廣東 深圳 廣東移動神州行卡

相關文章
相關標籤/搜索