这个问题可能有点抽象,但是我尝试使用Apache Camel进行操作,但遇到了麻烦。

基本场景是这样的,我通过Camel公开了一个Web服务A,在此服务中,有一个基于内容的路由来决定是否必须调用BC,并且我想调用正确,并让BC的响应成为我的服务A的响应

我已经使用camel-cxf公开了Web服务,并且效果很好,但是之后我不知道如何进行路由,我想到了这一点:

from("cxf:bean:myServiceA").choice()
    .when(new PredicateForServiceB())
        .process(new ProcessorForServiceB())
    .when(new PredicateForServiceC())
        .process(new ProcessorForServiceC())
    .otherwise()
    .endChoice()
.to("log:output");


我不确定这是最佳方法还是正确,但这是我想出的。

现在,我不知道如何实现这些处理器,我只能创建对服务的常规调用并构建输出,但是我想使用Camel基础结构来实现。

有人对此有任何指示吗?如有必要,我很乐意提供更多信息

最佳答案

Camel提供了Bean binding,您无需接触太多Camel API并专注于POJO bean中需要的业务逻辑。
如果使用Processor API,则可以自己处理Exchange,如果在交换上设置了消息,则可以将响应发送回客户端。

关于java - 我可以使用Apache Camel调用Web服务并返回响应吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27306157/

10-12 22:28