首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在使用camel-http时设置代理

如何在使用camel-http时设置代理
EN

Stack Overflow用户
提问于 2013-07-12 00:53:02
回答 4查看 7.9K关注 0票数 2

我是camel的新手,最后遇到了一个代理问题。我有这样一条路径,用来存储对文件的循环http调用的结果:

代码语言:javascript
复制
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)设置"http.proxyHost“和""http.proxyPort”“,以及从包装在”routeBuilder/property“标记中的bundle-context.xml中设置。我还尝试在端点( camel-http文档中说可以将其设置为httpenpoint)中设置它,方法是将&proxyHost=myHost&proxyPort=myPort添加到端点。

都不起作用..

Il还尝试从我通过google阅读的帖子中建立一个http-conduit,例如(根据部署目标选择其中之一):

代码语言:javascript
复制
<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>

但这也不管用。此外,我希望能够自动完成此操作,而不必根据安装位置更新camel-context。

那么,你有没有办法设置它,并动态地设置它呢?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-07-13 05:36:05

经过几次尝试,我终于成功了。看起来问题不是来自我的解决方案,而是我没有增加捆绑包版本的事实……因此,我的解决方案没有被考虑在内。

因此,对我有效的解决方案是为我的routeBuilder中的上下文设置端点,比如: getContext().setProperty("http.proxyHost",10.100.100.1);

代码语言:javascript
复制
 getContext().setProperty("http.proxyPort",2111);

现在,它确实起作用了。

感谢那些看过的人!

票数 4
EN

Stack Overflow用户

发布于 2017-10-28 04:21:26

使用XML配置:

代码语言:javascript
复制
<camelContext id="context" xmlns="http://camel.apache.org/schema/spring">
    <properties>
        <property key="http.proxyHost" value="127.0.0.1"/>
        <property key="http.proxyPort" value="8888"/>
   </properties>
</camelContext>
票数 1
EN

Stack Overflow用户

发布于 2013-07-16 16:15:21

我认为http-conduit设置这次不适用于您,因为您没有使用任何CXF客户端来调用服务。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17599165

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档