场景:群里有小伙伴向我求助如何调用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!!!