专注Java教育14年 全国咨询/投诉热线:400-8080-105
动力节点LOGO图
始于2009,口口相传的Java黄埔军校
首页 学习攻略 Java学习 Java调用webservice接口的方法

Java调用webservice接口的方法

更新时间:2022-11-28 12:25:57 来源:动力节点 浏览5991次

WebService遵循SOAP协议通过XML封装数据,然后由Http协议来传输数据。通常要调用WebService接口需要暴露一个wsdl文档来告诉调用者,可以调用什么方法,需要什么参数,返回值类型等。文档地址通常以wsdl结尾。

如http://www.webxml.com.cn/webservices/DomesticAirline.asmx?wsdl,可以通过浏览器打开,如下图所示:

先来介绍几个概念:

调用方法名

调用方法名,在webservice暴露的wsdl文档中给出,配合命名空间使用调用接口

命名空间

规范webservice接口,方便调用者调用。

参数

参数就是,调用该接口需要提供的参数。

参数类型

参数类型就是,调用该接口需要提供参数的类型。

如上图所示,wsdl文档描述的接口信息。下面开始wsdl接口的调用。

使用hutool的SoapClient调用WebService接口步骤:

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调用

提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>