我正在尝试使用 Camel 的 HTTP4 组件通过 HTTP 代理建立 HTTPS 连接。
我有几条路由,所以我想在组件级别而不是路由定义级别配置代理。
我在骆驼上下文中设置了以下内容:
http.proxyHost=myproxy.mydomain.com
http.proxyPort=80
http.proxyScheme=http4
我的路线的一个例子:
from("direct:start")
.to("https4://www.verisign.com")
.to("direct:downloadProcessor");
当我执行这条路线时,它会产生一个错误:java.lang.IllegalStateException: Scheme 'http4' not registered.
但是,如果我在每个路由定义上指定代理配置:
from("direct:start")
.to("https4://www.verisign.com?proxyAuthHost=myproxy.mydomain.com&proxyAuthPort=80&proxyAuthScheme=http4")
.to("direct:downloadProcessor");
它工作正常,我可以在日志中看到 CONNECT 请求DEBUG DefaultClientConnection - Sending request: CONNECT www.verisign.com:443 HTTP/1.1
:
这听起来有点像在测试CAMEL-4176时发现的问题,但这在 Camel 2.8.0 中被标记为已修复(我使用的是 2.10.0)。
是否有某些原因我不能在 HTTP 组件而不是每个路由上配置代理?