当前位置: 首页 > 知识库问答 >
问题:

我可以用Apache Camel调用web服务并返回响应吗?

杜志
2023-03-14

这个问题可能有点抽象,但我正试图用ApacheCamel做些什么,我被卡住了。

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

我已经使用 camel-cxf 公开了网络服务,它运行良好,但我不知道之后如何进行路由,我想到了这个:

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

我不确定这是否是最好的方法,甚至这是否正确,但这是我想出来的。

现在我不知道我将如何实现这些处理器,我可以创建对服务的正常调用并构建输出,但我想使用 Camel 基础设施来做到这一点。

有人对此有什么建议吗?如果有必要,我很乐意提供更多信息

共有1个答案

贺轶
2023-03-14

Camel提供了Bean绑定,您不需要接触太多Camel API,也不需要关注POJObean中需要的业务逻辑。如果您使用处理器API,您可以自己处理Exchange,那么如果您在Exchange上设置消息,则可以将响应发送回客户端。

 类似资料:
  • 问题内容: 我一直在写一个小应用程序,使人们可以向我上传和下载文件。我已在此应用程序中添加了一个Web服务,以这种方式提供上载/下载功能,但我不太确定我的实现将如何处理大文件。 目前,上传和下载方法的定义如下(使用Apache CXF编写): 因此,该文件将作为字节数组上传和下载。但是,如果我有一个愚蠢的文件大小(例如1GB),那肯定会尝试将所有信息放入内存,并导致我的服务崩溃。 所以我的问题是-

  • 问题内容: 我想使用ajax和jquery将表单发布到.asmx Web服务,并将Web服务的值作为JSON返回。 我正在使用ASP.NET 4.0。我知道,为了从Web服务返回JSON,需要设置以下内容(1)dataType:“ json”(2)contentType:“ application / json; charset = utf-8”,(3)类型:“ POST” (4)将数据设置为某物

  • 我正在尝试使用改型和rxjava 2进行WebService调用。我在探索使用RxJava2的两种不同方法。问题是,当我使用可观察的,但不使用可流动的时,我得到了响应。使用Flowable时,日志没有打印出来。我试图调试它,但它没有进入下一步或完成中或错误中。仅执行订阅上的。 1) 使用observable作为返回类型 2)使用可流动作为返回类型 静止触点改装api 调用webservice 获取

  • 我使用Java和Apache CXF为AngularJS(单页web站点)编写后端。在REST服务中,我需要访问http请求的头(即参数和cookies),也需要访问响应头(即参数和cookies)。其主要原因是安全性、身份验证目的和会话管理。这些都是重要的原因。

  • 我正试图用CakePHP3制作一个api。有了这个api,我将向系统发送一些批量电子邮件的信息。在将api请求存储到databse中之后,我希望返回已收到请求的确认并开始批处理。完成处理后,我想发送一个回调响应来返回处理状态。在我目前的编码系统中,我必须等待完成这个过程。我怎么能并行地做呢? [我不确定实际问题的标题应该是什么,请随意编辑。:)]

  • 绑定到端口8080的Node.js express服务器 我希望通信量通过路由到服务到部署中的一个pods/副本。我做错了什么?