更新時(shí)間:2022-11-28 12:25:57 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽8385次
WebService遵循SOAP協(xié)議通過(guò)XML封裝數(shù)據(jù),然后由Http協(xié)議來(lái)傳輸數(shù)據(jù)。通常要調(diào)用WebService接口需要暴露一個(gè)wsdl文檔來(lái)告訴調(diào)用者,可以調(diào)用什么方法,需要什么參數(shù),返回值類(lèi)型等。文檔地址通常以wsdl結(jié)尾。
如http://www.webxml.com.cn/webservices/DomesticAirline.asmx?wsdl,可以通過(guò)瀏覽器打開(kāi),如下圖所示:
調(diào)用方法名
調(diào)用方法名,在webservice暴露的wsdl文檔中給出,配合命名空間使用調(diào)用接口
命名空間
規(guī)范webservice接口,方便調(diào)用者調(diào)用。
參數(shù)
參數(shù)就是,調(diào)用該接口需要提供的參數(shù)。
參數(shù)類(lèi)型
參數(shù)類(lèi)型就是,調(diào)用該接口需要提供參數(shù)的類(lèi)型。
如上圖所示,wsdl文檔描述的接口信息。下面開(kāi)始wsdl接口的調(diào)用。
1.引入依賴(lài)
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.7.22</version>
</dependency>
2.代碼調(diào)用
//wsdl文檔地址
String wsdlUrl = "http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl";
//創(chuàng)建soap客戶(hù)端
SoapClient soapClient = SoapClient.create(wsdlUrl)
// 設(shè)置調(diào)用方法名稱(chēng)以及命名空間
.setMethod("getWeatherbyCityName", "http://WebXml.com.cn/")
// 設(shè)置參數(shù)名稱(chēng)及參數(shù)值
.setParam("theCityName", "深圳")
// 設(shè)置超時(shí)時(shí)間
.setConnectionTimeout(15000)
.setReadTimeout(15000)
.timeout(15000);
// 還有其他可以配置,根據(jù)自己的需求配置
// 調(diào)用webservice接口
String result = soapClient.send();
// 打印
System.out.println(result);
3.結(jié)果
其他方式調(diào)用:
IDEA生成調(diào)用類(lèi)調(diào)用接口
CXF調(diào)用
RPC調(diào)用
HttpClinet調(diào)用
相關(guān)閱讀
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
有基礎(chǔ) 直達(dá)就業(yè)
業(yè)余時(shí)間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問(wèn)老師會(huì)電話(huà)與您溝通安排學(xué)習(xí)
初級(jí) 202925
初級(jí) 203221
初級(jí) 202629
初級(jí) 203743