问题标签 [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 投票
0 回答
81 浏览

apache-camel - 使用带有代理和 sslcontext 的 Camel-http4 时出现 HTTP 401 错误

我有使用 http4(proxyAuthScheme=http4 和端点以 https://<> 开头)并使用代理和使用 sslContextParametersRef 的现有连接。它以前工作正常。

现在我们已经用新代理升级了我们的新代理,我开始看到 HTTP 401 错误。

所有凭据都正确并且以前可以正常工作。

https4://test.org/DownloadHandler.ashx?proxyAuthHost=&authPassword=&bridgeEndpoint=true&authUsername=&proxyAuthScheme=http4&proxyAuthPort=& throwExceptionOnFailure=true&sslContextParametersRef=sslContextParameters&proxyAuthPassword=&disconnect=true&okStatusCodeRange=200-299& proxyAuthUsername=

sslContext 配置了正确的密钥存储和信任存储以及 TLSv1.2。

所有这些配置在新代理服务器条目之前和使用时都有效,我收到 HTTP 401 错误。

我还从端点 uri 中删除了 proxyAuthScheme=http4 并且我收到了 ssl unverified 错误,这与这篇文章中的相同。(https://camel.465427.n5.nabble.com/Using-the-HTTP4-component-to-make-a-HTTPS-call-behind-proxy-sever-td5719105.html

这里的任何帮助将不胜感激。

0 投票
2 回答
1107 浏览

spring-boot - 如何在camel-http4中设置路径变量

我有一个camel-spring-boot 项目,我在其中使用Spring 的@ConfigurationProperties 从一个yml 文件加载目标url。由于我的目的地是一个 HTTP url,我正在使用 camel-http4 组件。

现在我的 URL 是https://example.com/students/{id}/subject/{name },这意味着我必须将 id 和 name 参数作为路径变量(而不是查询参数)传递。我的问题是如何传递这些参数?[注意:我不能将 URL 放在 DSL 或 XML 中,它必须在 application.yml 中]

但是,作为解决方案

但是在从 yml 加载此属性时,Spring 尝试将 ${header.id} 评估为 Spel 表达式(并抛出找不到它的错误),正如我提到的那样,它是 Camel 的简单表达式。如果我使用 DSL,则相同的表达式适用于 toD(),但不适用于 yml。

请告诉我,我的方法是否正确?如果是这样,那我该如何摆脱这个问题。提前致谢。

0 投票
1 回答
681 浏览

apache-camel - HttpOperationFailedException 已弃用,但仍在 Camel 3 中使用

我有一个调用 Camel 3.3 中的 HTTP 组件的路由。这工作正常,我正在尝试捕获正在抛出的 HttpOperationFailedException。

我在骆驼路线中声明了以下错误处理程序:

显示org.apache.camel.http.common.HttpOperationFailedException为已弃用,当我查看 Camel 3.3 的文档时,我什至找不到HttpOperationFailedException.

根据 JavaDocHttpOperationFailedException列出的最后一次是在2.25.1版本中。根据3.3.0 javadocHttpOperationFailedException已被删除,但在我的项目中它仍然抛出它。

我仔细检查了我的有效 pom 和我的依赖项:

我正在推进并使用例外,但有人可以分享一些关于正在发生的事情的信息吗?这是文档中的错误吗?如果HttpOperationFailedException已弃用和/或删除,将用什么代替它?

0 投票
0 回答
138 浏览

rest - Apache Camel:使用 toD() 的 GET 服务调用导致无限循环

我想从某个位置读取文件,提取文件名并使用文件名作为请求参数进行休息调用(GET)。文件名需要动态传递,因为每个文件都是唯一的。在完成教程后,我使用了 toD() 。下面提供了高级伪代码(我只对来自此调用的状态代码感兴趣。在此之后需要进一步的操作。)。

我现在使用 toD() 面临的问题是它在进行 Get 服务调用后进入了无限循环。

如何处理这个问题?感谢您的建议!

这是一个在端口 8090 上运行的简单 Get 端点模型:

0 投票
1 回答
254 浏览

junit - Apache Camel:文件和 http 组件的单元测试

我对 Camel 还很陌生,只是设法实现了一个如下用例,其中有 2 条使用文件和 http 组件的路由。寻找一些关于编写junits的线索。根据我在网上找到的输入,我尝试了下面的一些示例测试用例。不确定这是否足够。感谢你的帮助!

  • 执行:

  • 朱尼特

    }

另外-如何为负流(异常情况)编写测试用例?寻找建议。

0 投票
0 回答
45 浏览

java - 使用camel-http4消耗api休息的问题

我正在尝试使用以下网址:

但显然请求是这样的:

这让我不回馈任何东西,有人知道它可能吗?正确的 url 没有 (=)

0 投票
0 回答
136 浏览

apache-camel - 骆驼升级引入了 SSL 问题

我们最近将 Camel 版本从 2.x 升级到了 3.x。在 2 中,我们使用 camel-http 下载文件列表,效果很好。通过升级,我可以看到 camel-http 组件现在实际上已被以前的 camel-http4 组件所取代。自从升级以来,我们不再能够连接到文件的主机。连接是通过https。

我已经通过各种在线指南了解如何配置 SSLContext、设置正确的信任库/密钥库,但到目前为止还没有任何效果。

将 javax.net.debug 设置为 all 并没有真正向我显示更多有用的信息:

我们看到的错误是:

这不会发生在我的本地环境中,它只会在从我们通常部署的服务器上运行它时发生。在我仍然可以尝试/调试以找出导致问题的原因方面,我有点不知所措。有什么想法吗?

尝试的最新设置:

0 投票
0 回答
166 浏览

java - 如何在 Camel 的 http 组件上配置 TLSv1.2 来调用外部服务?

下面是我正在使用的配置路由,用于调用外部服务。

services_routes.xml

应用程序属性

服务.java

问题:

现在,当我尝试使用提供的vpce URL 访问托管在 amazon-aws 上的服务时,使用上述路由。我收到一个带有 {"message" : "Forbidden"} 的 Forbidden 响应代码 = "403"。

除了“ x-api-key ”之外,访问服务不需要其他标头,因此TLS 版本可能在客户端与服务器端不匹配。

我需要使用producerTemplate调用服务,但为此我需要在 Camel Client 上配置/确保TLSv1.2 。

那么如何在service_routes.xml中的我的路由上 配置(xml) TLSv1.2(具有最低配置),以便 producerTemplate/camel 客户端能够访问该服务,并强制 SSL 为 TLSv1.2

0 投票
1 回答
53 浏览

rest - Apache Camel HTTP4 组件忽略 Date: Header

我正在使用 Apache Camel 的 HTTP 4 组件来执行 HTTP-PUT 请求。在发送请求之前,我设置了自定义和应用程序相关的标头。标题键之一是“日期”。

但不幸的是,Camel-HTTP4 忽略了 Date-Header 并且不会将其发送到远程服务器:

有谁知道为什么要删除标头以及如何配置保留标头?

谢谢

0 投票
1 回答
318 浏览

java - 如何在 Apache Camel 中发送带有参数的 REST 请求

我很好奇如何在 Apache Camel 中管理 HTTP REST 请求?

我需要遍历 ID 列表并将列表中的特定 ID 放入 HTTP GET 请求中。我将从数据库中收到此列表。我需要向第三方服务器发送请求并管理响应 - 将其插入数据库。

如何在循环内的请求中计划 ID 参数?

处理器: