2017-01-10 4 views
1

Я вызываю конечную точку HTTP до того, как мое сообщение достигнет apikit: router.Вызов конечной точки HTTP перед вызовом маршрутизатора APIKit

К тому времени, когда сообщение достигнет apikit: router, оно потеряло все исходные заголовки HTTP. Из-за этого маршрутизатор не может определить предполагаемый метод.

Фактически я могу скопировать входящие свойства в переменную сеанса, после вызова HTTP я могу вернуть их в качестве исходящего свойства. Затем у меня есть api-маршрутизатор в другом потоке, поэтому свойство исходящего объектов снова закрывается для входящего свойства. Это решение работает отлично, но поток выглядит довольно уродливым. (как я должен был сделать эту копию для около 10 заголовков)

Есть ли лучшее обходное решение? Также я стараюсь избегать использования этих заголовков вручную.

ответ

2

Оберните HTTP-вызов в пределах enricher, он сохранит входящие свойства http и полезную нагрузку исходного вызова. Например,

<enricher target="#[flowVars.resultOfInnerHTTP] source="#[payload]"> 
    <http:request...../> 
</enricher> 
<apikit:router.../> 
Смежные вопросы