07_编写天气预报和手机归属地的WebService
<s:element ref="s:schema" />
<s:any />
<s:any minOccurs="2" maxOccurs="2" />
----------------------
免费的webservice接口:http://www.webxml.com.cn/zh_cn/web_services.aspx
天气查询的wsdl
http://ws.webxml.com.cn/WebServices/WeatherWS.asmx?wsdl
view-source:http://ws.webxml.com.cn/WebServices/WeatherWS.asmx?wsdl
号码归属地的wsdl
http://ws.webxml.com.cn/WebServices/MobileCodeWS.asmx?wsdl
1.在src下生成客户端响应文件
可用wsdl文件,或者地址生成,cmd命令窗口锁定在src目录下
2.客户端类可查看wsdl文档最后<wsdl:service />获取
天气代码如下(wsdl不贴)
package com.atguigu.weather_client.test; import cn.com.webxml.ArrayOfString; import cn.com.webxml.WeatherWS; import cn.com.webxml.WeatherWSSoap; public class ClientTest { public static void main(String[] args) { WeatherWS weatherWS = new WeatherWS(); WeatherWSSoap weatherWSSoap = weatherWS.getWeatherWSSoap(); ArrayOfString weather = weatherWSSoap.getWeather("上海", null); java.util.List<String> list = weather.getString(); System.out.println(list); for(String str:list){ System.out.println(str+"---"); } } }
运行结果:
[直辖市 上海, 上海, 2013, 2016/11/08 11:56:12, 今日天气实况:气温:13℃;风向/风力:西南风 1级;湿度:66%, 紫外线强度:最弱。空气质量:良。, 紫外线指数:最弱,辐射弱,涂擦SPF8-12防晒护肤品。 感冒指数:极易发,强降温,天气寒冷,风力较强。 穿衣指数:较冷,建议着厚外套加毛衣等服装。 洗车指数:不宜,有雨,雨水和泥水会弄脏爱车。 运动指数:较不宜,有降水,推荐您在室内进行休闲运动。 空气污染指数:良,气象条件有利于空气污染物扩散。 , 11月8日 小雨转阴, 10℃/13℃, 北风4-5级转3-4级, 7.gif, 2.gif, 11月9日 阴, 9℃/13℃, 北风微风, 2.gif, 2.gif, 11月10日 多云转晴, 9℃/15℃, 西北风微风, 1.gif, 0.gif, 11月11日 晴转多云, 12℃/18℃, 西风微风, 0.gif, 1.gif, 11月12日 多云, 13℃/20℃, 南风微风, 1.gif, 1.gif] 直辖市 上海--- 上海--- 2013--- 2016/11/08 11:56:12--- 今日天气实况:气温:13℃;风向/风力:西南风 1级;湿度:66%--- 紫外线强度:最弱。空气质量:良。--- 紫外线指数:最弱,辐射弱,涂擦SPF8-12防晒护肤品。 感冒指数:极易发,强降温,天气寒冷,风力较强。 穿衣指数:较冷,建议着厚外套加毛衣等服装。 洗车指数:不宜,有雨,雨水和泥水会弄脏爱车。 运动指数:较不宜,有降水,推荐您在室内进行休闲运动。 空气污染指数:良,气象条件有利于空气污染物扩散。 --- 11月8日 小雨转阴--- 10℃/13℃--- 北风4-5级转3-4级--- 7.gif--- 2.gif--- 11月9日 阴--- 9℃/13℃--- 北风微风--- 2.gif--- 2.gif--- 11月10日 多云转晴--- 9℃/15℃--- 西北风微风--- 1.gif--- 0.gif--- 11月11日 晴转多云--- 12℃/18℃--- 西风微风--- 0.gif--- 1.gif--- 11月12日 多云--- 13℃/20℃--- 南风微风--- 1.gif--- 1.gif---
手机归属地如下:
package com.atguigu.phone; import cn.com.webxml.MobileCodeWS; import cn.com.webxml.MobileCodeWSSoap; public class ClientTest { public static void main(String[] args) { MobileCodeWS mobileCodeWS = new MobileCodeWS(); MobileCodeWSSoap mobile = mobileCodeWS.getMobileCodeWSSoap(); String mobileInfo = mobile.getMobileCodeInfo("15295087**", null); System.out.println(mobileInfo); } }
15295087**:江苏 常州 江苏移动全球通卡
该service借口经测试隐藏了一位号码(大概为了安全吧)