Apache-Kamel, um mehrere REST-Serviceantworten zusammenzufassen
Ich bin neu bei Camel und frage mich, wie ich den unten genannten Anwendungsfall mit Camel implementieren kann.
Wir haben einen REST-Web-Service und sagen wir, er hat zwei Service-Operationen callA und callB. Jetzt haben wir die ESB-Ebene im Vordergrund, die die Clientanforderungen abfängt, bevor diese tatsächlichen Webdienst-URLs aufgerufen werden.
Jetzt versuche ich, so etwas zu tun: Legen Sie eine URL in ESB offen, die der Client tatsächlich aufruft. Im ESB verwenden wir die Jetty-Komponente von Camel, die nur diesen Serviceabruf vertritt. Nehmen wir also an, diese URL wäre / my-service / scan /
Nachdem ich diese Anforderung @ESB erhalten habe, möchte ich diese beiden REST-Endpunkte (callA und callB) aufrufen. -> Antworten abrufen - resA und resB -> Zu einem einzelnen Antwortobjekt aggregieren. ResScan -> An den Client zurückgeben.
Alles was ich gerade habe ist -
<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>