调用天气预报webservice接口

时间:2022-09-29 10:56:09

1.将 服务端的wsdl文档保存至 本地 

  http://ws.webxml.com.cn/WebServices/WeatherWS.asmx?WSDL

2.将里面的

<s:element ref="s:schema"/>
<s:any/>
都替换为
<s:any minOccurs="2" maxOccurs="2"/>

3. 将里面的 &nbsp 删掉(无法识别)

4.创建java项目,生成客户端文件,在项目路径下 使用cmd 输入 wsimport -keep url;

  url 是本地保存wsdl文档的路径

5.调用客户端的代码

  在 wsdl 文件的后面可以看到 <wsdl:service name="WeatherWS"> 这一行表示 WeatherWS 是一个工厂类,可以建造实现类

  

package test;

import java.util.List;

import cn.com.webxml.ArrayOfString;
import cn.com.webxml.WeatherWS;
import cn.com.webxml.WeatherWSSoap;

public class weatherClient {
    public static void main(String[] args) {
        WeatherWS factory = new WeatherWS();
        WeatherWSSoap weather = factory.getWeatherWSSoap();
        ArrayOfString as = (ArrayOfString) weather.getWeather("陆川", null);
        List <String>list = (List)as.getString();
        for(String str:list) {
            System.out.println(str);
        }
    }
}