1、因webservice請求我都是使用soapui進行請求的,所以先從soapui獲取請求地址參數
2、導入數據流
本例實例請求中的變化入參為電話號碼,所以使用 CSV輸入組件導入數據。(注:因對kettle不了解,剛剛使用,開始時把所有請求報文參數都組裝好了,直接使用JS組件進行運行,發現根本沒有發起請求,原來kettle是需要數據流或者記錄生成進行驅動的,哈哈哈!)
3、增加常量
webservice請求需要請求頭,請求頭使用“增加常量”組件導入。我第一次請求時,沒有添加請求頭,導致接口方返回no soapaction。但是使用soapui工具是能夠正常調用的,所以使用了fiddler工具截取了soapui工具請求的報文,發現我這個接口的的soapaction為空,所在增加常量組件中增加了一個值為空的常量。(注:soapui有代理設置,如果Fiddler和soapui在本地,soapui的代理設置為127.0.01 端口為fiddler的代理端口,這樣就截取soapui的請求報文)
4、組裝請求報文
增加javascript代碼組件,定義如圖,把請求封裝在request變量中,直接使用String就可以,請求中需要變動的參數,直接從數據流中獲取替換即可
5、使用http post組件進行webservice請求。
URL為soapui的請求地址,Request entity field選擇為JS代碼組件組裝的請求報文,Result field name填寫為返回參數變量名稱,默認為result。
在Fields頁面,Name選擇增加常量組件中設置的請求頭,Put in Header選擇為是
6、獲取到請求結果,就可以用其他的組件對結果進行處理了。