前言
本章讲解第三方发布的WebService服务端接口的调用与使用
方法
1.概念
在之前的操作中,我们创建了WebService的服务端,并自己建立了WebService客户端来进行访问,这里我们将通过一个真实的实例对别人开发的WebService服务端进行操作。
2.打开第三方给我们提供的WSDL地址
http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl
该地址提供的方法是查询全国各个城市的天气信息!
一般而言,和你进行对接的应用都会提供该地址供你使用,并提供相应的接口使用文档!
3.使用wsimport检出客户端代码
由于服务器端的功能是由.net开发出来,所以检出可能会出现问题如下:
新建一个Java工程,到src目录下运行如下的命令:
这说明我们解析的wsdl文件有些问题,我们把它下载下来进行查看44和85行:
我们发现了问题所在,这时我们需要将其替换为如下标签:
使用如下命令检出代码:
这样,我们就成功的检出了我们所需要的代码,代码结构如下:
下面的两个java文件是我们所需要操作的!其他的文件都是相关的方法与配置。
4.编写客户端代码输出吉林长春的天气情况
package cn.edu.ccut.client;
import org.junit.Test;
import cn.com.webxml.ArrayOfString;
import cn.com.webxml.WeatherWebService;
import cn.com.webxml.WeatherWebServiceSoap;
public class WeatherTest {
@Test
public void testWeather() {
WeatherWebService wb = new WeatherWebService();
WeatherWebServiceSoap soap = wb.getWeatherWebServiceSoap();
ArrayOfString str = soap.getWeatherbyCityName("长春");
str.getString().forEach(t->System.out.println(t));
}
}
运行结果如下: