JAVA调用WebService接口(以调用第三方天气接口为例)

天气接口地址:http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl

 

1、打开项目文件目录路径文件夹,在当前文件夹打开cmd,输入

1
wsimport -keep -p demo.cyj.service -verbose http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl

  

demo.cyj.service :这个是类的包路径

 

2、如果遇到以下报错

 

 

用浏览器打开天气接口地址:http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl,按下CTRL+S保存文件

用编辑器打开下载的文件,将

1
<s:element ref="s:schema" /> <s:any />

  替换成

1
<s:any minOccurs="2" maxOccurs="2" />

  然后将文件另存为weather.wsdl

打开保存的文件路径输入cmd,输入

1
wsimport -s .   weather.wsdl

  

 

 

 3、显示以上内容,即为生成成功,以下这是生成的文件

 

 

 

4、新建一个测试类WebserviceTest .java

1
2
3
4
5
6
7
8
9
10
public class WebserviceTest {
    public static void main(String[] args) {
        //也可以使用new WeatherWebService(url)此方法可重新设置请求的地址 URL url=new URL("http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl")
        WeatherWebService factory = new WeatherWebService();
        WeatherWebServiceSoap weatherWebServiceSoap = factory.getWeatherWebServiceSoap(); //WeatherWebServiceSoap为调用的实现类
        ArrayOfString strArray = null;
        strArray = weatherWebServiceSoap.getWeatherbyCityName("武汉");
        System.out.println(strArray.getString());
    }
}

  

 

5、显示以下内容 即为调用成功

 

posted @   yvioo  阅读(15888)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示