Apache camel ESB+;基于上一次调用的响应调用多个web服务
我正在使用ESB和Camel为我的移动应用程序提供一个端点。在此基础上,我需要调用多个web服务,以便前一个调用的响应确定是否应该调用下一个,并且需要将相同的请求参数传递给多个调用 此外,我需要将这些响应保存在数据库中Apache camel ESB+;基于上一次调用的响应调用多个web服务,apache-camel,esb,apache-servicemix,Apache Camel,Esb,Apache Servicemix,我正在使用ESB和Camel为我的移动应用程序提供一个端点。在此基础上,我需要调用多个web服务,以便前一个调用的响应确定是否应该调用下一个,并且需要将相同的请求参数传递给多个调用 此外,我需要将这些响应保存在数据库中 我想知道我们可以使用Camel实现这个特定用例的最佳模式。有很多方法可以做到这一点-只要想想你想如何在纯Java中实现这样的逻辑,比如示例,然后将其移动到Camel。从行动流来看,没有区别。你有条件-你必须有IF或SWITCH操作,就是这样 直截了当的方法。 调用上一个服务后,您
我想知道我们可以使用Camel实现这个特定用例的最佳模式。有很多方法可以做到这一点-只要想想你想如何在纯Java中实现这样的逻辑,比如示例,然后将其移动到Camel。从行动流来看,没有区别。你有条件-你必须有IF或SWITCH操作,就是这样
${exchangeProperty.next_call}==“SERVICE1”/>
... 进程服务1结果逻辑。。。
${exchangeProperty.next_call}==“SERVICE2”/>
... 进程服务2结果逻辑。。。
等等
<cml:to uri="previous_uri"/>
<cml:processor ref="my_selector"/> <!-- it sets Exchange property "next_call" based on result from previous -->
<cml:choice>
<cml:when>
<cml:simple>${exchangeProperty.next_call} =="SERVICE1"/>
<cml:to uri="next_service1_uri"/>
... process Service1 result logic ...
</cml:when>
<cml:when>
<cml:simple>${exchangeProperty.next_call} =="SERVICE2"/>
<cml:to uri="next_service2_uri"/>
... process Service2 result logic ...
</cml:when>