最近的工作中碰到一個金融支付相關的服務,整個服務是提供的webservice接口,查了一下采用webservice會更加安全,所以就研究了下如何測試這種服務的接口。
二、術語解釋
-
WebService是什么?
-
基於Web的服務:服務器端整出一些資源讓客戶端應用訪問(獲取數據)
-
一個跨語言、跨平台的規范(抽象)
-
多個跨平台、跨語言的應用間通信整合的方案(實際)
-
-
SOAP協議是什么?
-
Webservice是基於SOAP協議傳輸數據。 SOAP又是一種簡單的基於 XML 的協議,它使應用程序通過 HTTP 來交換信息。
-
-
WSDL是什么?
-
WSDL(Web Services Description Language)基於XML語言,用於描述Web Service及其函數、參數和返回值。它是WebService客戶端和服務器端能理解的標准格式。因為是基於XML的,所以WSDL既是機器可閱讀的,又是人可閱的,這將是一個很大的好處。——可以視為接口文檔
-
WSDL 文件保存在Web服務器上,通過一個url地址就可以訪問到它。客戶端要調用一個WebService服務之前,要知道該服務的WSDL文件的地址。
-
三、 請求webservice接口
-
獲取WSDL文件
-
Wizdler插件介紹
谷歌的插件,工具的說明就很明了“Parses the WSDL files and generates SOAP messages for you.”可以幫我們解析WSDL文件以及生成SOAP請求。
-
Wizdler插件使用
(1)在谷歌瀏覽器里打開WSDL文件
(2)點擊插件圖標
(3)選擇要執行的接口,點擊跳轉
(4)跳轉到工具頁面后,修改接口參數,點擊“GO”發送請求即可
總結:其實進行到這里,我們發現這種請求還是跟之前的http請求一樣,需要請求方法,接口路徑,請求參數這些元素,只不過由於soap協議是基於xml格式的參數,需要通過解析一次wsdl文件來獲取相關參數。
四、其他工具
-
SoupUI 導入wsdl文件就可以,他會自動解析並且生成請求,直接用它發起請求即可。
-
Postman 既然請求類型、接口路徑、請求參數都獲取到了,我們完全可以用postman和Jmeter等工具發送http請求,只不過參數傳遞的是xml格式的。