前言:
目前想到要測試 Web Service 的首選或是第一個印入腦簾的我想應該就非 POSTMAN 莫屬了。不過目前大多測試的都是 Restful api 或是資料交換格式用 JSON ,要見到這以外的方式通常會比較少,或是要與舊系統介接時才會遇到,而剛好舊系統通常在做 Web Service 時都是選用 SOAP 做資料交換的協議,因此如何讓 POSTMAN 這個新工具跟老骨頭(SOAP)做搭配就是這篇主要要解決的問題。
前置準備
使用 SoapUI 組 message
使用 SoapUI 來幫忙組 message 的話會讓建立 message 的過程輕鬆很多。
- 首先開啟 SoapUI 後在
- 將 WSDL 的位置填入,並給一個好識別的名稱,記得把 Create Request 打勾
- 建立後應該會長這樣
- 右鍵產生一個新的 request
- SoapUI 會協助產生一個 message 樣板,複製拿去用即可
這個產生出來的就是去打這個 Web Service 的 Method1 方法,它會產生一個樣板,只要把這個樣板複製到 POSTMAN 的 request body 就好,格式就選 raw (text/xml), http method 選擇 POST,比較需要注意的就是 header 要帶上 SOAPAction
,而他的值就要看一開始去打 WSDL 時該值為何。
可以看到 WSDL 中顯示這個方法的 soapAction 是 ‘http://www.SoapClient.com/SoapObject' 那我們就要把這串值填入 request headers 裡的 SOAPAction 裡。
這樣這個方法就可以使用 POSTMAN 來測試了!
要注意 Headers 一定要有 SOAPAction 這個 Key,裡面的值也要填寫正確!
message body 若由 SoapUI 產生的話基本上就不用擔心是否會錯或是少填什麼。