我有一个网络服务 (REST)。每次有事件进入我的流时,我都想调用 WS。
我必须创建 Siddhi 的扩展并从 java 调用 Web 服务?
如果我需要 java 来调用 Web 服务,我应该扩展“聚合函数”吗?
在 Siddhi 中存在我可以用来调用 Web 服务的任何指令吗?
接下来是我的 WS 示例:
感谢您的意见
我有一个网络服务 (REST)。每次有事件进入我的流时,我都想调用 WS。
我必须创建 Siddhi 的扩展并从 java 调用 Web 服务?
如果我需要 java 来调用 Web 服务,我应该扩展“聚合函数”吗?
在 Siddhi 中存在我可以用来调用 Web 服务的任何指令吗?
接下来是我的 WS 示例:
感谢您的意见
您将能够使用 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
谢谢你。
但我有一个接收器和其他出版商。
当新事件到达“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);