我正在尝试使用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");
它工作正常,我可以在日志DEBUG DefaultClientConnection - Sending request: CONNECT www.verisign.com:443 HTTP/1.1
中看到CONNECT请求:
这听起来有点像CAMEL-4176测试期间发现的问题,但在Camel 2.8.0中标记为已修复(我使用的是2.10.0)。
是否有某些原因我无法在HTTP组件上配置代理而不是每条路由?