Apache camel do agregacji wielu odpowiedzi usługi REST
Jestem nowym użytkownikiem Camela i zastanawiam się, jak mogę zaimplementować poniżej wymieniony przypadek użycia za pomocą Camela,
Mamy usługę internetową REST i powiedzmy, że ma ona dwie operacje callA i callB. Teraz mamy warstwę ESB z przodu, która przechwytuje żądania klientów, zanim trafi na rzeczywiste adresy URL usług internetowych.
Teraz próbuję zrobić coś takiego - ujawnij adres URL w ESB, który klient faktycznie wywoła. W ESB używamy komponentu Jetty firmy Camel, który jedynie przybliża to zgłoszenie serwisowe. Powiedzmy więc, że ten adres URL to / moja-usługa / skan /
Teraz po otrzymaniu tego żądania @ESB chcę wywołać te dwa punkty końcowe REST (callA i callB) -> Uzyskaj ich odpowiedzi - resA i resB -> Agreguj je do pojedynczego obiektu odpowiedzi resScan -> powróć do klienta.
Teraz mam tylko -
<route id="MyServiceScanRoute">
<from uri="jetty:http://{host}.{port}./my-service/scan/?matchOnUriPrefix=true&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>