美文网首页
用WebService调用第三方天气接口

用WebService调用第三方天气接口

作者: 09c72470861c | 来源:发表于2018-08-31 23:13 被阅读0次

先放上接口调用地址:http://www.webxml.com.cn/WebServices/WeatherWebService.asmx

  • 新建一个普通的java项目get_weather_demo2
    项目最终结构如下图:
    最终目录结构
wsimport -keep -p demo.cyj.service -verbose http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl

这时却报错了,报错如下图:


报错信息
  • 经过一番百度上的搜索和寻找,终于大概知道了错误原因,解决方案:
    引用自love小仙的博客
    按照解决方案中所说,浏览器地址改为http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl,将网页上的字符全部复制下来放到本地的一个文本文档中,将文中出现过的两处
    <s:element ref="s:schema" /> <s:any />
    全部替换为<s:any minOccurs="2" maxOccurs="2" />
    然后文件保存为weather.wsdl
  • 打开cmd命令行,进入本项目的src文件夹下,按照格式:
wsimport -s . yourpath/weather.wsdl

输入命令行,比如我的存放地址:

E:\eclipseOxygenWorkspace\get_weather_demo\src\demo\cyj\weather_test\weather.wsdl

我的命令行就为

wsimport -s . E:\eclipseOxygenWorkspace\get_weather_demo\src\demo\cyj\weather_test\weather.wsdl
成功的命令行

这个时候就可以看到,多了一个包,里面有很多java文件。

  • 新建一个测试类WeatherTest.java
package demo.cyj.test;

import cn.com.webxml.ArrayOfString;
import cn.com.webxml.WeatherWebService;
import cn.com.webxml.WeatherWebServiceSoap;

public class WeatherTest {
    public static void main(String[] args) {
        WeatherWebService factory = new WeatherWebService();
        WeatherWebServiceSoap weatherWebServiceSoap = factory.getWeatherWebServiceSoap();
        ArrayOfString strArray = null;
        strArray = weatherWebServiceSoap.getWeatherbyCityName("成都");
        System.out.println(strArray.getString());
    }   
}

跑起来,可以看到控制台打印:


控制台信息

相关文章

网友评论

      本文标题:用WebService调用第三方天气接口

      本文链接:https://www.haomeiwen.com/subject/zznewftx.html