Верблюд Apache для агрегирования нескольких ответов службы REST

Я новичок в Camel и мне интересно, как я могу реализовать приведенный ниже вариант использования с помощью Camel.

У нас есть веб-служба REST, и, допустим, у нее есть две сервисные операции callA и callB. Теперь у нас есть уровень ESB впереди, который перехватывает клиентские запросы, прежде чем перейти к этим фактическим URL-адресам веб-службы.

Теперь я пытаюсь сделать что-то вроде этого: Предоставьте URL-адрес в ESB, который клиент действительно вызовет. В ESB мы используем компонент Camel Jetty, который просто проксирует этот сервисный вызов. Допустим, этот URL будет /my-service/scan/

Теперь, получив этот запрос @ESB, я хочу вызвать эти две конечные точки REST (callA и callB) -> Получить их ответы — resA и resB -> Агрегировать их. на один объект ответа resScan -> возврат клиенту.

Все, что у меня есть сейчас, это -

<route id="MyServiceScanRoute">
<from uri="jetty:http://{host}.{port}./my-service/scan/?matchOnUriPrefix=true&amp;bridgeEndpoint=true"/>
<!-- Set service specific headers, monitoring etc. -->  
<!-- Call performScan -->
<to uri="direct:performScan"/>
</route>

<route id="SubRoute_performScan">
<from uri="direct:performScan"/>
<!--  HOW DO I??
Make callA, callB service calls. 
Get their responses resA, resB.
Aggregate these responses to resScan
 -->
</route>
6
задан Rishi 16 May 2012 в 01:14
поделиться