0

我正在使用我自己的数据在 siddhi 编辑器中关注 ReceiveAndcount 示例,以咨询需要输入数据才能响应的外部 URL(令牌、日期和 device_id)。此查询应返回带有日期、布尔值和三个浮点数据的 JSON。

我的代码如下:

@Source(type = 'http',
    receiver.url='some_url',
    @map(type='json',
        @attributes('Token'='my_token_AAABBBCCC',
           'StartDate'='2019-01-30 15:57:00',
           'EndDate'='2019-01-30 15:58:00',
           'Device'='device_id')))
define stream SomeStream (
    date string,
    ValueIsValid bool,
    DATA1 float,
    DATA2 float,
    DATA3 float
)

-- Destination
@sink(type='log')
define stream MyOutputStream (EA1 float, EA2 float);

-- Show the selected data
@info(name='queryEA1_EA2')
from SomeStream
select EA1, EA2
insert into MyOutputStream;

我无法得到任何结果,只有“TestingReceiveAndCount.siddhi - Siddhi AppTestingReceiveAndCount 处于错误状态”。控制台中的错误。

我检查了 siddhi 文档,但不确定是否将输入数据正确传递到 URL 以获得响应

4

1 回答 1

0

要在 WSO2 SP 中发送 HTTP 请求和接收响应,您必须使用 http-request(sink) 和 http-response(source)。请看下面的代码,

@sink(type = 'http-request', sink.id = 'HttpReqRes', publisher.url = 'url_to_invoke', method = 'GET',
    @map(type = 'json'))
define stream localTestEventReq (token string, startdate string, enddate string, device string);

@source(type = 'http-response', sink.id = 'HttpReqRes', http.status.code = '200', 
    @map(type = 'json')) 
define stream localTestEventRes2xx(data1 string, data1 string);

在这里,当您使用流属性的值(或模拟测试)调用 localTestEventReq 时,将发出请求,如果响应代码为 200,则事件将到达 localTestEventRes2xx。请参阅上述接收器和源的api 文档。

于 2019-02-28T07:31:21.567 回答