利用WebService调用天气接口

由于最近项目需要用到实时天气查询,于是就想起来使用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());
	}
}



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


版权声明:本文为qq_32039567原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。