如何从http请求(接收器)响应中获取源消息?

时间:2018-12-25 13:20:55

标签: siddhi wso2sp

我向http服务发出http请求({f_id:1001})。服务仅在没有源f_id的情况下返回true / false。

并要选择带有源F_ID的响应:

@sink(type='http-request', publisher.url='http://127.0.0.1:3020/', 
    method="POST", sink.id='download-sink', @map(type='json'))
define stream OutputToNodejs(f_id long);

@source(type='http-response' , sink.id='download-sink', 
    http.status.code='200',
    @map(type='json', @attributes('result'))) 
define stream responseStream2xx(result bool);

@info(name = 'SimpleLogTrigger')
from responseStream2xx 
    select result as text, f_id_from_request /* HOW GET F_ID from source request HERE */
    insert into OutputStream2;

我想在源响应中选择使用源请求消息。但是如何在这里获取源消息? 如果不能-可以将其ID从请求转发到响应吗?

1 个答案:

答案 0 :(得分:1)

当前没有开箱即用的方式来执行此操作。有两种解决方法可以完成此任务。

  1. 使您的服务在响应中也返回f_id并将其放入 响应流
  2. HTTP request sinkHTTP response source进行了改进,以便源可以访问接收器的流 变量。但这将是一项重大的开发工作。所以我认为 考虑到您的治理能力,第一是更好的选择 HTTP服务。