kettle HTTPPOST请求webservice接口

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、获取到请求结果,就可以用其他的组件对结果进行处理了。

 

转载于:https://www.cnblogs.com/heiboy/p/10032544.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Kettle可以通过SOAP调用Web服务接口。具体步骤如下: 1.在Kettle中创建一个新的转换或作业。 2.在转换或作业中添加一个“SOAP客户端”步骤。 3.在“SOAP客户端”步骤中配置Web服务的URL、命名空间、方法名等信息。 4.在“SOAP客户端”步骤中添加输入参数和输出参数。 5.运行转换或作业,即可调用Web服务接口并获取返回结果。 需要注意的是,Kettle中的“SOAP客户端”步骤只支持SOAP 1.1协议,不支持SOAP 1.2协议。如果需要调用SOAP 1.2协议的Web服务接口,可以使用Kettle的“HTTP客户端”步骤,并手动构造SOAP消息。 ### 回答2: Kettle是一款可以实现ETL(Extract-Transform-Load)数据集成处理的开源BI工具。在实际应用中,我们常常需要将Kettle与其他系统进行集成,比如调用外部Web服务。本文将介绍如何在Kettle中调用Web服务。 首先需要明确,Web服务就是通过HTTP协议提供的一种跨平台、跨语言的接口。我们可以使用KettleHTTP Client步骤来调用Web服务。 具体步骤如下: 1. 添加HTTP Client 步骤 在Kettle中,打开Transformation,将HTTP Client步骤拖入工作区域。双击打开HTTP Client步骤的属性设置窗口。 2. 设置HTTP Client属性 在HTTP Client属性窗口中,需要设置三个主要参数: (1) URL:Web服务的URL地址; (2) Method:调用Web服务的请求方法,通常有GET、POST等; (3) Request:发送请求时需要上传的参数,可以是JSON、XML等格式。 此外,还需要设置HTTP头部信息和超时时间等参数。这些参数的设置需要根据具体的Web服务接口文档进行调整。 3. 解析Web服务返回结果 在HTTP Client步骤中,我们可以选择将Web服务返回的数据保存到文件、数据库等不同的目标,也可以选择将返回结果解析成Kettle中的字段,方便后续数据处理。 具体设置需要在HTTP Client的“Fields”选项卡中进行,根据Web服务返回的数据格式进行字段定义。 以上就是在Kettle中调用Web服务的具体步骤,通过HTTP Client步骤,我们可以轻松地调用外部Web服务,实现数据集成与处理的自动化。当然,在实际应用中,我们还需要注意Web服务的安全性、稳定性等问题,保证数据的可靠性与完整性。 ### 回答3: Kettle是一款非常实用的数据抽取和转换工具,也可以通过插件来支持Webservice的调用。Webservice是一种基于网络的远程调用服务,它可以通过HTTP或其他协议传输数据。 在Kettle中调用Webservice需要使用SOAP客户端插件或者HTTP客户端插件。使用SOAP客户端插件可以直接创建SOAP请求消息,而HTTP客户端插件则需要手动创建HTTP请求消息。 在使用SOAP客户端插件时,需要先在步骤中创建SOAP请求消息,这里需要填写Webservice接口的地址、方法、参数列表等信息。然后在转换中使用“HTTP请求”步骤,将SOAP请求消息发送给Webservice,并接收Webservice的响应消息。在接收到响应消息后,可以使用“转换XML”步骤将响应消息转换为Kettle中的数据格式进行后续处理。 若使用HTTP客户端插件,则需要手动创建HTTP请求消息,包括请求方法、请求地址、请求头、请求体等信息。请求消息发送后,同样需要使用“HTTP请求”步骤来接收Webservice的响应消息,并通过“转换XML”步骤将响应消息转换为Kettle中的数据格式。 总之,通过以上的步骤,我们可以在Kettle中轻松实现对Webservice接口的调用,并获取相应的数据。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值