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:廣東 深圳 廣東移動神州行卡