2016-05-27 8 views
0

Ich habe einen Webservice (REST). Ich möchte das WS jedes Mal aufrufen, wenn ein Ereignis zu meinem Stream kommt.Webdienste in Siddhi

Ich muss eine Erweiterung von Siddhi erstellen und den Web-Service von Java aufrufen?

Wenn ich Java brauche, um den Web Service aufzurufen, sollte ich "Aggregate Function" erweitern?

In Siddhi existiert eine Anweisung, die ich verwenden kann, um den Web-Service aufzurufen?

Die nächste ist eine Probe meiner WS:

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

Dank für Ihre Kommentare

Antwort

0

können Sie HTTP-Event Publisher verwenden [1] dieses OOTB zu erreichen ohne benutzerdefinierten Code zu schreiben. Mit diesem Publisher können Sie PUT/POST-Anfragen an eine vordefinierte URL mit benutzerdefinierten Nutzdaten senden. Erstellen Sie einen HTTP-Publisher wie in der freigegebenen Dokumentation erwähnt. Dann können Sie ein benutzerdefiniertes JSON-Mapping verwenden, um die akzeptierten Nutzdaten für Ihren Webdienst zu erstellen. Wenn Sie eine benutzerdefinierte Zuordnung erstellen, können Sie Ereignisattribute in geschweiften Klammern wie folgt verweisen.

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

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

0

Danke.

aber ich habe einen Empfänger und anderen Herausgeber.

ich möchte meine WS von siddhi rufen, wenn ein neues Ereignis kommen zu „org.wso2.event.sensor.stream:1.0.0“, der Eingabeparameter an den Webservice ist „meta_sensorName“

, wie ich kann es machen? diese

ist mein Code:

/* 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); 
+0

Ist das Eingangsparameter ein Abfrageparameter oder ist es in der Nutzlast? – Tishan

+0

"meta_sensor_Name" ist eine Nutzlast von org.wso2.event.sensor.stream. –

+0

Was ich wissen muss ist, ob meta_sensorName ist Abfrageparameter oder Payload in Ihrem Web-Service-Aufruf – Tishan