附原文地址:https://blog.csdn.net/fsgsggd/article/details/80421633
上篇博客转载的是一个自写接口自调用的一个例子,今天我试了一下调用天气接口,看了几篇博客一些例子,花了两个小时在上面,其实很简单,知道只要5分钟就搞定了。坑1:不同调用方式在客户端自动生成的代码有差异,坑2:使用工具比dos命令快还不出错(我的就是dos命令调用报错,eclipse毫无问题)
使用eclipse
在src目录下新建一个wsdl文件,直接为空就行,右击文件选择webservice,路径粘贴我们的天气接口http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl 下一步选择生成文件的路径,这个文件因为放在了src目录下,直接完成就行,他就会自动生成了,如下:
然后写一个测试类就行了
-
public class ClientTest {
-
public static void main(String[] args) throws RemoteException, ServiceException {
-
WeatherWebServiceLocator locator=new WeatherWebServiceLocator();
-
//调用xxLocator对象的getXXPort()方法生成xxSoapBindingStub对象
-
WeatherWebServiceSoapStub stud=(WeatherWebServiceSoapStub) locator.getWeatherWebServiceSoap();
-
//输出当天的天气状况
-
String[] city=stud.getSupportCity("江西");
-
String[] province=stud.getSupportProvince();
-
String[] weather=stud.getWeatherbyCityName("上海");
-
for(String c:city)
-
System.out.println(c);
-
System.out.println("--------------");
-
for(String p:province)
-
System.out.println(p);
-
System.out.println("--------------");
-
for(String w:weather)
-
System.out.println(w);
-
}
-
}