Можно ли сгенерировать и использовать динамический URL-адрес в WSO2SP?

Можно ли сгенерировать и использовать динамический URL-адрес в качестве publisher.url в запросе приемника http?

У меня есть входной поток, который принимает параметр. В зависимости от того, какое значение я передаю в этом потоке, оно должно быть включено как часть базового URL-адреса, который будет получать параметры из другого потока.

@App:name("TestApp")

@source(type='http', receiver.url='http://0.0.0.0:8008/xyz', @map(type = 'json', @attributes(a='$.b', b='$.b', c='$.c', var='$.var'))) 
@sink(type='log') 
define stream InputStream(a string, b string, c string, var string);

@source(type='http-response' ,sink.id='1234', @map(type='json', @attributes(a1='a1', a2='a2', a3='a3'))) 
@sink(type='log') 
define stream ResponseStream (a1 string, a2 string, a3 string);

@sink(type='http-request', sink.id='1234', publisher.url='http://<host>:<port>/<var>/parse?a={{a}}&b={{b}}&c={{c}}', method='GET', headers="'Content-Type:text/plain'", @map(type='keyvalue', @payload(a='{{b}}', b='{{b}}', c='{{c}}')))
define stream InterStream (a string, b string, c string, var string);

from InputStream
select a, b, c, var  
insert into InterStream;

Я хочу добавить var как часть моего базового URL-адреса, который является URL-адресом издателя для запроса http-приемника.

Есть ли у сиддхи такое положение?


person dilip sundar    schedule 19.09.2019    source источник


Ответы (1)


Да, он работает так же, как параметры запроса,

 publisher.url='http://<host>:<port>/{{var}}/parse?a={{a}}&b={{b}}&c={{c}}'
person Niveathika    schedule 19.09.2019
comment
Спасибо, все работает нормально. Если я попробую то же самое с Receiver.url, нужно ли мне делать то же самое? - person dilip sundar; 19.09.2019
comment
Receiver.url в источнике 'http' не является динамическим, вы можете проверить, поддерживается ли это динамическим свойством для каждого элемента. https://siddhi-io.github.io/siddhi-io-http/api/2.1.1/#http-source - person Niveathika; 19.09.2019