问题标签 [camel-http]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1326 浏览

json - 如何检查骆驼路线中的jsonpath是否存在密钥?

需要检查下面的这个 JSON 对象是否存在键。如果键存在并且值为空,那么我想设置TH为默认语言。

如何在骆驼路线中做到这一点?

0 投票
1 回答
139 浏览

java - 如何使用 apache camel 根据正文内容进行 GET api 调用

我的要求是根据我从平面文件中吐出的正文内容进行 GET api 调用。并将 api 响应与原始正文聚合并生成 xml。

输入:

如果输入源中为“US”,则基于第四个位置。我必须进行 GET api 调用才能获得响应。

例子:

我必须生成 XML,其中包括 GET api 与输入源一起返回的字段。

示例输出:

上面给出的 xml 输出确实有来自平面文件和 api 响应的两个字段。我正在使用 apache camel bindy 进行拆分并生成一个 xml。我必须根据我正在拆分的内容进行 api 调用,并聚合 api 返回的响应并生成输出 xml。

这是我实现的路由逻辑,请帮助我如何进行api调用和聚合。

转换器路由.java

日志:

我能够在没有从 GET api 调用中获得的新字段(TOTAL,CARRIER)的情况下生成 XML。我得到了输出流对象,我想用新的两个字段来丰富 xml,所以 xml 如下所示。

从 GET API 调用添加新的两个字段后的预期输出。

0 投票
1 回答
189 浏览

java - 如何使用 apache camel bindy 将两个 xml 标签合并为一个 xml

我的问题是我的平面文件中有两个不同的位置,带有“|” 分隔的字符串。位置 2 和 3 参见说明。我想生成将两个描述附加到一个描述的 xml,并返回一个包含两个描述的 DESC 标记。

输入源:

预期输出:

我得到的输出:

测试.java

转换器.java

0 投票
2 回答
84 浏览

apache-camel - 如何仅将参数值添加到骆驼的端点?

我是骆驼的新手,我正在努力寻找资源来仅附加参数的值?对于当前代码,它将添加 ?Id=${property.POList} 到端点。我只希望将值 ${property.POList} 添加到其余端点。请建议最好的做法是在 Spring DSL 中只向端点添加一个值。谢谢!

0 投票
0 回答
3505 浏览

java - org.apache.camel.InvalidPayloadException:没有可用的类型:java.io.InputStream 但有值:在解组绑定 bean 时抛出

我正在尝试在解组 bean 对象后进行 api 调用并获取有效负载并丰富内容。我可以看到已经发生了对绑定对象的解组,但是在进行 api 调用后它抛出了以下异常。

转换器路由.java

下面我已经实现了聚合策略。在解组 newExchange api返回的有效负载后,它将获得 oldExchange。

我的处理器.java

0 投票
0 回答
45 浏览

java - APACHE CAMEL REST DSL API 的行为与相对 CURL 操作不同

我被困在让我发疯的事情上。

我正在创建一个应用程序,它公开一些 API 并将这些 API 中的每一个映射到一些外部 API,所以基本上我的应用程序是一个通道。该操作是一个实际有效的帖子,但这里是魔术发生的地方。所以基本上我的 API 将一个 POJO 类作为输入,该类将被称为 ObjectIN,处理器进行一些转换并将一个名为 ObjectOUT 的不同 POJO 发送到外部 api(不是我的)。

api 是将订单插入到第二个 API 环境中的数据库中。现在,我正在测试我两次发送与输入正文相同的有效负载的情况,所以我期待来自 2n API 的 500,因为订单已经插入,但是如果我的应用程序发送 insert1 然后insert2 我在两种情况下都从第二个 API 得到了 202。如果我在具有相同主体的第二个 API 上直接卷曲,则第一个作品返回 202,而第二个作品按预期返回 500。

我真的不明白发生了什么,因为我不处理第二个 api,所以我有点盲目。我认为这可能与传递的 json 有关,但我通常在发送到我的 DSL 上的.to(2ndAPI)字段之前使用编组,并且在这两种情况下插入都可以正常工作,因此第二个 api 的后端可以理解并解开我处理过的身体。

有什么建议么?我也可以复制代码,但我真的尝试了我身边的所有东西。

0 投票
1 回答
180 浏览

apache-camel - 使用 REST API 向 IBM MQ 生成消息。阿帕奇骆驼

我必须通过点击休息服务向 IBM MQ 发送消息。下面是我使用 Camel XML DSL 编写的代码。

当我尝试发布消息时,出现以下异常

post 方法是否期望从 QUEUE 返回响应,以便它可以响应休息客户端?我只需要post service回复200,如果消息成功产生到QUEUE,否则回复500。如何解决这个问题呢?

0 投票
0 回答
133 浏览

apache-camel - 骆驼路线中未打印的日志消息

我创建了一个 Camel Context 实例,并在上下文中添加了如下路由:

但是我无法获取我的消息日志并调试路由。路由有问题还是日志文件有问题?

0 投票
0 回答
48 浏览

apache-camel - 在 Apache Camel 中将对象分解为 POJO 的最佳方法

我正在尝试从 Camel 响应中的 process 方法中检索一个对象。

但是,一旦我在以下代码中得到空响应:

这里没有打印正文。这很奇怪,因为正在打印正文

我需要一个 JSON 表示,并且还想将它存储在一个对象中,以便我们可以在从该方法返回 thi 对象时返回它。

有什么遗漏吗?应该添加什么来满足要求?

0 投票
2 回答
448 浏览

spring - 无法使用 http4 处理骆驼中的大文件

一个场景,需要使用一个提供大文件作为流输出的rest webservice,反之亦然,需要处理流并直接写入文件而不是内存。服务 :

消费者路线:

256 JVM 在处理 300 MB 时内存不足,因为我的路由没有执行流式传输到文件。