加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

WebService通信调用天气预报,Java

发布时间:2020-12-16 21:50:38 所属栏目:安全 来源:网络整理
导读:天气预报实例: 首先,得知道天气预报的接口: http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl 其次,调用接口,把接口服务端的代码导入到客户端: 1、把上面的链接输入浏览器地址栏,结果如下: 2、新建一个项目,在项目中新建一个Weat

天气预报实例:

首先,得知道天气预报的接口:

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/>。

还有一种也能得到服务器断文件的方法就是:在命令行输入

如上即可生成客户端代码? :-p ?【生成的文件地址】 ?extension(soap协议1.2版本得加次指令,不然生成报错)
生成的代码拷贝到你的项目中使用即可。


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平方公里。景点:瀚海明珠月亮湖清夏盛地大安港天然猎场东沟等。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读