天气预报实例:
首先,得知道天气预报的接口:
http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl
1、把上面的链接输入浏览器地址栏,结果如下:
2、新建一个项目,在项目中新建一个WeatherWebService.wsdl文件,把上面浏览器中的代码黏贴到这个文件中
3、选中WeatherWebService.wsdl文件,右键--Myeclipse--new webService Client..一直下一步到底,会自动生成cn.com.webxml包,
这里面就是我们需要的服务端的文件。(Eclipse生成方法大同小异)。注意:如果生成过程中报错,如:</s:schema>则把这个标签直接删掉,<br/>报错,则把<br>都改成<br/>。
4、写代码测试:
package test1;
import java.rmi.RemoteException;
import java.util.List;
import cn.com.webxml.ArrayOfString;
import cn.com.webxml.WeatherWebService;
import cn.com.webxml.WeatherWebServiceSoap;
public class TestWeather {
public static void main(String[] args) throws RemoteException {
WeatherWebService ser = new WeatherWebService();
WeatherWebServiceSoap service = ser.getPort(WeatherWebServiceSoap.class);
invokeGetSupportProvince(service);
System.out.println();
System.out.println("..........................................");
invokeGetSupportCity(service);
System.out.println("...........................................");
invokeGetWeatherByOneCity(service);
}
// 调用获取支持的省份、州接口
public static void invokeGetSupportProvince(WeatherWebServiceSoap service)throws RemoteException{
ArrayOfString provinces = service.getSupportProvince();
List<String> list = provinces.getString();
System.out.println("总共有"+list.size()+"个地区");
int count=0;
for (String pro : list) {
if(0!=count&&count%5==0){
System.out.println();
}
System.out.print(pro+"\t");
count++;
}
}
//调某个省城市的接口
public static void invokeGetSupportCity(WeatherWebServiceSoap service)throws RemoteException{
String provinceName="吉林";
ArrayOfString city = service.getSupportCity(provinceName);
List<String> list = city.getString();
System.out.println(provinceName+"省有"+list.size()+"个市:");
for (String s : list) {
System.out.println(s+"\t");
}
}
//调用某个城市的天气
public static void invokeGetWeatherByOneCity(WeatherWebServiceSoap service)throws RemoteException{
String cityName="大安";
ArrayOfString weather = service.getWeatherbyCityName(cityName);
List<String> list = weather.getString();
for (String we : list) {
System.out.println(we);
}
}
}
5、运行结果:
总共有36个地区 直辖市特别行政区 黑龙江吉林 辽宁 内蒙古河北 河南山东山西 江苏安徽陕西宁夏甘肃 青海湖北湖南浙江江西 福建贵州四川广东广西 云南海南新疆西藏台湾 亚洲欧洲非洲北美洲南美洲 大洋洲 .......................................... 吉林省有9个市: 长春 (54161) 吉林 (54172) 白山 (54371) 白城 (50936) 四平 (54157) 松原 (50946) 辽源 (54260) 大安 (50945) 通化 (54363) ........................................... 吉林 大安 50945 50945.jpg 2017-5-9 15:30:36 14℃/31℃ 5月9日 晴 西南风4-5级转微风 0.gif 0.gif 今日天气实况:气温:30℃;风向/风力:南风 6级;湿度:22%;紫外线强度:很强。空气质量:良。 紫外线指数:很强,涂擦SPF20以上,PA++护肤品,避强光。 感冒指数:少发,感冒机率较低,避免长期处于空调屋中。 穿衣指数:炎热,建议穿短衫、短裤等清凉夏季服装。 洗车指数:较不宜,风力较大,洗车后会蒙上灰尘。 运动指数:较适宜,风力较强且气温较低,请进行室内运动。 空气污染指数:良,气象条件有利于空气污染物扩散。 13℃/28℃ 5月10日 晴 西风微风 0.gif 0.gif 7℃/23℃ 5月11日 晴转多云 西北风微风 0.gif 1.gif 大安市位于吉林省西北部,地处松嫩平原腹地。在东经123°08′45″至124°21′56″,北纬44°57′00″至45°45′51″之间,属中温带季风气候,全年日照时数平均为3012.8小时,年平均气温4.3℃,年平均积温2921.3℃,年平均降雨量为413.7毫米。大安市距长春、哈尔滨、齐齐哈尔、大庆等城市较近,借助铁、公、水路联运,经济辐射可达吉林省中西部地区,黑龙江省嫩江地区,辽宁省西北部地区和内蒙古东部地区。大安市处在嫩江流域中心城市和吉林省对外开放的前沿位置上,是联结东北三省一区及中、俄、日三国的交通枢纽和商品集散地。全市东西长95公里,南北宽90公里,总面积为4879平方公里。景点:瀚海明珠月亮湖清夏盛地大安港天然猎场东沟等。