Потоковый процессор WSO2: корреляция во время обработки HTTP-ответа для вызовов службы HTTP - PullRequest
0 голосов
/ 08 мая 2020

У меня есть размещенная http-служба, которая принимает данные о тенденциях и возвращает некоторые выходные данные. Доступ к этой службе на языке запросов сиддхи осуществляется следующим образом:

@sink(type='http-request', sink.id='trends', 
publisher.url='${SERVICE_URL}',  @map(type='json', @payload(""" {"trend":{{trendArray}} } """) ) )
define stream Request(item string, trendArray string);

@source(type='http-response' , sink.id='trends', http.status.code='200',
        @map(type='json', @attributes(stock = '<HOW_TO_GET_THIS_VALUE>', output = "<HOW_TO_GET_THIS_VALUE>")
) )
define stream Response(item string, output string);

Полезная нагрузка HTTP-запроса (и ответа) не включает имя элемента.

  1. когда приходит ответ, мы хотели бы присвоить имя элемента, по которому мы оценивали результат, - отмеченное как HOW_TO_GET_THIS_VALUE выше. Как выполнить sh это в запросе сиддхи?
  2. Как обрабатывать данные ответа как есть как переданные в поле?

Я не видел описание этого сценария на сиддхи. Если не поддерживается, было бы полезно узнать подробности о настраиваемом расширении (на основе расширения http) для этого сценария. Решение по добавлению прокси-слоя для HTTP-вызова менее желательно.

1 Ответ

0 голосов
/ 11 мая 2020

После некоторых экспериментов HOW_TO_GET_THIS_VALUE = 'trp: item'. У приемника http также должно быть это поле, даже если оно не используется в полезной нагрузке.

...