更新时间:2022-11-28 12:25:57 来源:极悦 浏览6746次
WebService遵循SOAP协议通过XML封装数据,然后由Http协议来传输数据。通常要调用WebService接口需要暴露一个wsdl文档来告诉调用者,可以调用什么方法,需要什么参数,返回值类型等。文档地址通常以wsdl结尾。
如http://www.webxml.com.cn/webservices/DomesticAirline.asmx?wsdl,可以通过浏览器打开,如下图所示:
调用方法名
调用方法名,在webservice暴露的wsdl文档中给出,配合命名空间使用调用接口
命名空间
规范webservice接口,方便调用者调用。
参数
参数就是,调用该接口需要提供的参数。
参数类型
参数类型就是,调用该接口需要提供参数的类型。
如上图所示,wsdl文档描述的接口信息。下面开始wsdl接口的调用。
1.引入依赖
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.7.22</version>
</dependency>
2.代码调用
//wsdl文档地址
String wsdlUrl = "http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl";
//创建soap客户端
SoapClient soapClient = SoapClient.create(wsdlUrl)
// 设置调用方法名称以及命名空间
.setMethod("getWeatherbyCityName", "http://WebXml.com.cn/")
// 设置参数名称及参数值
.setParam("theCityName", "深圳")
// 设置超时时间
.setConnectionTimeout(15000)
.setReadTimeout(15000)
.timeout(15000);
// 还有其他可以配置,根据自己的需求配置
// 调用webservice接口
String result = soapClient.send();
// 打印
System.out.println(result);
3.结果
其他方式调用:
IDEA生成调用类调用接口
CXF调用
RPC调用
HttpClinet调用
0基础 0学费 15天面授
Java就业班有基础 直达就业
业余时间 高薪转行
Java在职加薪班工作1~3年,加薪神器
工作3~5年,晋升架构
提交申请后,顾问老师会电话与您沟通安排学习