通过HTTP代理进行HTTPS隧道的HTTP4组件配置会导致java.lang.IllegalStateException:Scheme';http4&x27;未注册

通过HTTP代理进行HTTPS隧道的HTTP4组件配置会导致java.lang.IllegalStateException:Scheme';http4&x27;未注册,https,proxy,apache-camel,Https,Proxy,Apache Camel,我正在尝试使用Camel的HTTP4组件通过HTTP代理来隧道HTTPS连接 我有几个路由,因此我希望在组件级别而不是路由定义级别配置代理 我在camel上下文中设置了以下内容: http.proxyHost=myproxy.mydomain.com http.proxyPort=80 http.proxyScheme=http4 我的一个路线示例: from("direct:start") .to("https4://www.verisign.com") .to("direc

我正在尝试使用Camel的HTTP4组件通过HTTP代理来隧道HTTPS连接

我有几个路由,因此我希望在组件级别而不是路由定义级别配置代理

我在camel上下文中设置了以下内容:

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'未注册。

但是,如果我在每个路由定义上指定代理配置:

from("direct:start")
    .to("https4://www.verisign.com?proxyAuthHost=myproxy.mydomain.com&proxyAuthPort=80&proxyAuthScheme=http4")
    .to("direct:downloadProcessor");
它工作正常,我可以在日志中看到连接请求
DEBUG DefaultClientConnection-发送请求:CONNECT www.verisign.com:443 HTTP/1.1

这听起来有点像在测试过程中发现的问题,但在Camel 2.8.0中标记为已修复(我使用的是2.10.0)


是否有某些原因导致我无法在HTTP组件上配置代理,而不是在每个路由上配置代理?

骆驼邮件列表中讨论并回答了您的问题,您是否可以将其标记为已回答/已关闭?简短回答是使用上述解决方法,并提出了JIRA: