我是 Camel 的新手,想知道如何使用 Camel 实现下面提到的用例,
我们有一个 REST Web 服务,假设它有两个服务操作 callA 和 callB。现在我们在前面有 ESB 层,它在访问这个实际的 Web 服务 URL 之前拦截客户端请求。
现在我正在尝试做这样的事情 - 在 ESB 中公开一个客户端将实际调用的 URL。在 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&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>