java - 我可以使用 Apache Camel 调用 Web 服务并返回响应吗?

标签 java web-services apache-camel

这个问题可能有点抽象,但我正在尝试使用 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,然后如果您在 Exchange 上设置了消息,则可以将响应发送回客户端。

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

相关文章:

web-services - 使用 typescript 使用 Web 服务

web-services - REST Web 服务的身份验证

java - Camel-Castor 在解码和编码时出错,它也没有使用映射文件

java - 带有 Apache Camel 3 (servlet) + SpringBoot 2 的 Swagger UI

java - 提取特定模式后的子串

java - 计算列表中元素的数量并将其附加到每个项目的末尾并维护要返回的列表中的插入顺序?

java - 在java中给图片着色

java - 重新导入 WSDL 以更新 Java Web 服务客户端

java - 如果发送 JMS 消息时没有 JMSPriority header ,会发生什么情况

java - 我想让一个文本字段只有在 Netbeans 中选中一个复选框时才可编辑