0

我有一个网络服务 (REST)。每次有事件进入我的流时,我都想调用 WS。

我必须创建 Siddhi 的扩展并从 java 调用 Web 服务?

如果我需要 java 来调用 Web 服务,我应该扩展“聚合函数”吗?

在 Siddhi 中存在我可以用来调用 Web 服务的任何指令吗?

接下来是我的 WS 示例:

http://72.37.125.125:3000/phishing?url=www.innerjoin.co

感谢您的意见

4

2 回答 2

0

您将能够使用 HTTP 事件发布者 [1] 来实现此 OOTB,而无需编写自定义代码。使用此发布者,您可以使用自定义有效负载将 PUT/POST 请求发送到预定义的 URL。如共享文档中所述,创建 HTTP 发布者。然后,您可以使用自定义 json 映射为您的 Web 服务创建接受的有效负载。当您创建自定义映射时,您可以在花括号内引用事件属性,如下所示。

{
   "payload_name_for_webservice":{{attribute_name_in_event}},
}

[1] https://docs.wso2.com/display/CEP400/HTTP+Event+Publisher

于 2016-05-30T06:37:56.537 回答
0

谢谢你。

但我有一个接收器和其他出版商。

当新事件到达“org.wso2.event.sensor.stream:1.0.0”时,我想从 siddhi 调用我的 WS,Web 服务的输入参数是“meta_sensorName”

我怎么能做到?

我的代码是这样的:

/* Enter a unique ExecutionPlan */
@Plan:name('ExecutionPlan')

/* Enter a unique description for ExecutionPlan */
-- @Plan:description('ExecutionPlan')

/* define streams/tables and write queries here ... */

@Import('org.wso2.event.sensor.stream:1.0.0')
define stream sensorStream (meta_timestamp long, meta_isPowerSaverEnabled bool, meta_sensorId int, meta_sensorName string, correlation_longitude double, correlation_latitude double, humidity float, sensorValue double);
于 2016-05-30T12:58:37.340 回答