【发布时间】:2013-07-10 01:35:49
【问题描述】:
我是骆驼的新手,最终陷入了代理问题。 我有这样一条路线,用于存储从经常性 http 调用到文件的结果:
from("quartz://collector/test?cron=0+0/2+*+?+*+*")
.setHeader(Exchange.HTTP_METHOD, constant("GET"))
.setHeader(Exchange.HTTP_QUERY, constant("Id=50")
.to("http://www.anywebsite/question.php")
.setHeader(Exchange.FILE_NAME,constant("${date:now:yyyyMMddHHmmssSSS}.xml"))
.inOnly(someFolder);
我的问题是我需要指定一个代理(主机 + 端口)才能通过,否则我将无法获取信息。
我尝试了各种方法,包括从 routeBuilder(通过 getContext().setProperties)和包装在“properties/property”标签中的 bundle-context.xml 设置“http.proxyHost”和“http.proxyPort”。
我还尝试通过将&proxyHost=myHost&proxyPort=myPort 添加到端点(camel-http 文档说您可以将其设置为 httpenpoint)来设置它。
没有成功..
我还尝试从我通过谷歌阅读的帖子中设置一个 http-conduit,例如(根据部署目标选择一个或另一个):
<http-conf:conduit name="*.http-conduit">
<!-- when behind proxy -->
<http-conf:client Connection="close" ConnectionTimeout="3000" ReceiveTimeout="10000" ProxyServer="p-goodwat" ProxyServerPort="3128"/>
<!-- when no proxy -->
<http-conf:client Connection="close" ConnectionTimeout="3000" ReceiveTimeout="10000" />
</http-conf:conduit>
但这也不起作用......而且,我希望能够自动完成,而无需根据安装位置更新骆驼上下文。
那么,你有没有找到一种设置它的方法,并动态设置它?
【问题讨论】:
标签: http proxy apache-camel fuseesb