前言:

目前想到要測試 Web Service 的首選或是第一個印入腦簾的我想應該就非 POSTMAN 莫屬了。不過目前大多測試的都是 Restful api 或是資料交換格式用 JSON ,要見到這以外的方式通常會比較少,或是要與舊系統介接時才會遇到,而剛好舊系統通常在做 Web Service 時都是選用 SOAP 做資料交換的協議,因此如何讓 POSTMAN 這個新工具跟老骨頭(SOAP)做搭配就是這篇主要要解決的問題。

前置準備

範例網站

POSTMAN

SoapUI

使用 SoapUI 組 message

使用 SoapUI 來幫忙組 message 的話會讓建立 message 的過程輕鬆很多。

  • 首先開啟 SoapUI 後在

SoapUI_New_SOAP_Project

  • 將 WSDL 的位置填入,並給一個好識別的名稱,記得把 Create Request 打勾

SoapUI_initial_WSDL

  • 建立後應該會長這樣

nevigator_tree

  • 右鍵產生一個新的 request

new_request

  • SoapUI 會協助產生一個 message 樣板,複製拿去用即可

send_soap_request

這個產生出來的就是去打這個 Web Service 的 Method1 方法,它會產生一個樣板,只要把這個樣板複製到 POSTMAN 的 request body 就好,格式就選 raw (text/xml), http method 選擇 POST,比較需要注意的就是 header 要帶上 SOAPAction ,而他的值就要看一開始去打 WSDL 時該值為何。

WSDL

可以看到 WSDL 中顯示這個方法的 soapAction 是 ‘http://www.SoapClient.com/SoapObject' 那我們就要把這串值填入 request headers 裡的 SOAPAction 裡。

這樣這個方法就可以使用 POSTMAN 來測試了!

postman_headers

要注意 Headers 一定要有 SOAPAction 這個 Key,裡面的值也要填寫正確!

postman_body

message body 若由 SoapUI 產生的話基本上就不用擔心是否會錯或是少填什麼。