場景:群里有小伙伴向我求助如何調用web service接口,趁著周末時間,給兄弟們搞demo。
?1、本次使用的web service服務接口地址是http://ws.webxml.com.cn/WebServices/WeatherWS.asmx?op=getSupportCityDataset,
此接口根據用戶輸入的城市名稱可獲取城市下屬單位,如下圖所示:
?接口返回結果如下:
2、Web服務查詢步驟
1)驗證kettle自帶的demo,如下圖所示:
2)使用kettle自帶Web服務查詢步驟來實現調用web service服務接口,直接嗝屁。當然這里說明下,這個web服務查詢步驟不是所有的web service接口都會有問題的,我下面調用的這個接口是因為有重定向頁面所以導致無法正常工作,果斷放棄此種方式,下面繼續采用http調用。如下圖所示:
3、http方式調用(SOAP 1.1)
SOAP介紹:SOAP(Simple Object Access Protocol)即簡單對象訪問協議,是一種基于 XML 的協議,用于在分散或分布式的環境中交換結構化和類型化的信息。
1)SOAP 1.1 方式調用,此中方式調度的重點是header中要添加SAOPAction參數,Content-type為text/xml,調用方式為post。
?2)轉換demo采用生成記錄、rest client、寫日志步驟來實現調用web service接口,如下圖所示:
?3)rest client配置,如下圖所示:
4)保存&運行,可以正常work,如下圖所示:
4、http方式調用(SOAP 1.2)
1)SOAP 1.2 方式調用,此中方式調度的重點Content-type為application/soap+xml,調用方式為post。
2)生成記錄步驟配置,如下圖所示:
?3)?rest client配置,如下圖所示:
?4)保存&運行,可以正常work,如下圖所示:
5、http方式調用(get方法)
1)get方式調用,此中方式調度比較簡單。
?2)生成記錄步驟配置,如下圖所示:
?3)rest client 步驟配置,如下圖所示:
?4)保存&運行,可以正常work,如下圖所示:
6、http方式調用(post方法)
1)post方式調用,此中方式調度方式重點是Content-Type: application/x-www-form-urlencoded,post方式提交。
2)生成記錄步驟配置,如下圖所示:
3)rest client 配置,如下圖所示:
4)保存&運行,可以正常work,如下圖所示:
?DONE!!!