JAVA调用WebService接口(以调用第三方天气接口为例)
天气接口地址:http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl
1、打开项目文件目录路径文件夹,在当前文件夹打开cmd,输入
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保存文件
用编辑器打开下载的文件,将
<s:element ref="s:schema" /> <s:any />
替换成
<s:any minOccurs="2" maxOccurs="2" />
然后将文件另存为weather.wsdl
。
打开保存的文件路径输入cmd,输入
wsimport -s . weather.wsdl
3、显示以上内容,即为生成成功,以下这是生成的文件
4、新建一个测试类WebserviceTest .java
:
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、显示以下内容 即为调用成功
-----------------------有任何问题可以在评论区评论,也可以私信我,我看到的话会进行回复,欢迎大家指教------------------------
(蓝奏云官网有些地址失效了,需要把请求地址lanzous改成lanzoux才可以)