根据wsdl访问链接如何调用webService接口

如果客户提供了wsdl访问链接以及相应的接口文档说明,应该如何调用对应接口呢。

 

本示例通过eclipse生成客户端,调用并测试接口

 

1.File--->new--->other--->Web Service Client--->输入wsdl访问链接--->finish。项目就新建成功了。

 

2.查看自动生成的java代码,认真分析WeatherWSLocator和WeatherWSSoap两个类。

 

3.编写测试方法。Main方法就可以测试了。附加中的两个例子一个是天气的webService接口,一个是获取手


机号的归属地的webService接口。该接口原来是免费的,后来开始收费,需要提交用户ID。但是获取国        

 

 家,省份,地区的接口还可以正常使用,我们这个只是范例,接口是通的。

 【下面是Main方法】

 

public static void main(String[] args) throws Exception {

// 创建一个WeatherWS工厂

WeatherWS weatherWS = new WeatherWSLocator();

// 根据工厂创建一个WeatherWSSoap对象

WeatherWSSoap weatherWSSoap = weatherWS.getWeatherWSSoap();

// 调用WebService提供的getRegionCountry方法获取所有国家

String[] regionCountry = weatherWSSoap.getRegionCountry();

for (int i = 0; i < regionCountry.length; i++) {

System.out.println(regionCountry[i]);

}

// 调用WebService提供的getRegionCountry方法获取所有省份

String[] province = weatherWSSoap.getRegionProvince();

for (int i = 0; i < province.length; i++) {

System.out.println(province[i]);

}

// 调用WebService提供的getRegionProvince方法获取所有省份下面的区县

String[] city = weatherWSSoap.getSupportCityString("31111");

for (int i = 0; i < city.length; i++) {

System.out.println(city[i]);

}

// 调用WebService提供的getWeather方法获取指定地点的天气

String[] weather = weatherWSSoap.getWeather("1951", "0");

for (int i = 0; i < weather.length; i++) {

System.out.println(weather[i]);

}

// 获取全国地址【通过WeatherWSSoapProxy方式获取,第二种方式】

WeatherWSSoapProxy weatherProxy = new WeatherWSSoapProxy();

GetRegionDatasetResponseGetRegionDatasetResult RegionDatasetResult = weatherProxy.getRegionDataset();

MessageElement[] msgs = RegionDatasetResult.get_any();

for (MessageElement messageElement : msgs) {

System.out.println(messageElement.getAsString());

}

// 获取省份下面的区县【通过WeatherWSSoapProxy方式获取,第二种方式】

GetSupportCityDatasetResponseGetSupportCityDatasetResult cityDatasetResult = weatherProxy.getSupportCityDataset("31111");

MessageElement[] element = cityDatasetResult.get_any();

for (MessageElement messageElement : element) {

System.out.println(URLDecoder.decode(messageElement.getAsString(), "UTF-8"));

}

}

 

 

猜你喜欢

转载自13851619632.iteye.com/blog/2359075
今日推荐