准备工作:

1,工具:

IDEA

2,接口路径:http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl

第一步:创建一个项目,WebServiceTest,目录结构如下:

通过webservice调用天气接口,获取城市天气信息

第二步:在浏览器打开天气接口路径,如图:

通过webservice调用天气接口,获取城市天气信息

ctrl+s保存为xml文件,如图:

通过webservice调用天气接口,获取城市天气信息

第三步:打开WeatherWebService.xml文件,全文查找“<s:element ref="s:schema" />”,并删除下图中标红部分:

通过webservice调用天气接口,获取城市天气信息

注意,有两处,全部删除。保存。

第四步:将处理后的xml文件放到src目录下,结构如下:
通过webservice调用天气接口,获取城市天气信息

第五步:在src目录下,右击打开命令窗口,解析xml文件,命令如下:
wsimport -s . D:\WebServiceTest\src\WeatherWebService.xml

通过webservice调用天气接口,获取城市天气信息

这就解析完成了。class文件将被解析到src目录下。

现在查看下目录结构:

通过webservice调用天气接口,获取城市天气信息

第六步:创建一个class文件,测试(获取指定城市的天气)

小插曲:如果右击不能创建package或javaclass,那参考下图处理一下:

通过webservice调用天气接口,获取城市天气信息

上代码:

package cn.com.webxml.ws;
import cn.com.webxml.WeatherWebService;
import cn.com.webxml.WeatherWebServiceSoap;
import java.util.List;

public class Client {
    public static void main(String[] args){
        /*1,生成webservice*/
        WeatherWebService service = new WeatherWebService();
        /*2,得到一个实现类的对象*/
        WeatherWebServiceSoap port = service.getPort(WeatherWebServiceSoap.class);
        /*输入指定城市名称(城市代码),如“上海”或“58367”*/
        List<String> list = port.getWeatherbyCityName("上海").getString();
        for (String str:list){
            System.out.println(str);
        }
    }
}

运行结果:

通过webservice调用天气接口,获取城市天气信息

相关文章: