利用WebService调用天气接口

项目需求实现实时天气查询,通过webService获取天气数据。过程中遇到问题,主要涉及wsdl文件处理,包括替换元素、删除注释,并使用wsimport生成Java文件。调用方法获取天气信息。

由于最近项目需要用到实时天气查询,于是就想起来使用webService来获取天气接口。但是在使用的过程中,遇到了各种坑,这里稍微整理下

先给出项目文件结构


首先在百度上找到了webService的wsdl。http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl

将此网站的的内容全部复制到一个wsdl的文件中,这里我放在自身项目中根目录下。

将文件中的 <s:element ref="s:schema"/> <s:any/>  全部替换成  <s:any minOccurs="2"  maxOccurs="2"/>

同时将所有的备注信息(‘<a href="http://www.webxml.com.cn/" target="_blank">WebXml.com.cn</a> <strong>天气预报 Web 服务,数据每2.5小时左右’) 全部删除掉。

使用  wsimport -s . yourpath/weather.wsdl 我这里使用的命令就在项目的src目录中,会自动生成需要的java文件到src下

public class ClientTest {
	
	public static void main(String[] args) {
		WeatherWebService service = new WeatherWebService();
		WeatherWebServiceSoap soap = service.getWeatherWebServiceSoap();
		ArrayOfString weatherbyCityName = soap.getWeatherbyCityName("成都");
		System.out.println(weatherbyCityName.getString());
	}
}



还有很多方法,通过方法名就能知道具体信息。

评论 6
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值