源自我的个人博客:heysen.xyz
资源地址:http://www.webxml.com.cn/WebServices/WeatherWS.asmx?wsdl
这里提供两种调用WebService服务的方法,过程中axis2的依赖包需自行添加。
通过axis2插件生成本地代理文件
axis2的安装使用自行搜索,这里提供一个转载的别人的链接。之后在Eclipse(idea也可)新建一个工程,将资源地址的wsdl文件下载copy到工程里面,利用axis2生成本地代理,如下图:
接着写一个客户端类WeatherTest用来调用服务
public class WeatherTest {
public static void main(String[] args) throws ServiceException, RemoteException {
WeatherWSLocator locator = new WeatherWSLocator();
WeatherWSSoapStub service = (WeatherWSSoapStub) locator.getPort(WeatherWSSoapStub.class);
invokeGetSupportProvince(service);
invokeGetSupportCityString(service);
invokeGetWeather(service);
}
// 调用获取支持的省份、州接口
private static void invokeGetSupportProvince(WeatherWSSoapStub service) throws RemoteException {
// TODO Auto-generated method stub
String[] provices = service.getRegionProvince();
System.out.println("总共" + provices.length + "个区域省");
int count = 0;
for (String str : provices) {
if (0 != count && count % 5 == 0) {
System.out.println();
}
String regEx = "(.*?),(\\d+)";
Pattern pattern = Pattern.compile(regEx);
Matcher matcher = pattern.matcher(str);
if (matcher.find()) {
System.out.print(matcher.group(1) + "\t");
count++;
}
}
System.o