2014-04-01 42 views
1

在Apache骆驼中,我能够使用下面的代码将请求代理到不同的端点,我的问题是如何让cookie通过从实际发送的端点到客户端?使用Apache骆驼的HTTP代理,允许cookie通过

<route> 
      <from uri="restlet:/hello?restletMethod=GET"/> 
      <to uri="http4://sears.com?bridgeEndpoint=true&amp;throwExceptionOnFailure=false"/> 
     </route> 

回答

0

Cookie只是标题,所以除非您删除它们,否则它们将被传递。您遇到的问题可能是由于不同的域。您只能设置与您自己的域匹配的Cookie。我看到你在代理西尔斯。除非您的应用程序驻留在同一个域中,否则它将无法为Sears域设置Cookie。

+0

restlet和http组件上都有一个headerFilterStrategy。通过在from和to之间放置日志来检查是否从restlet中提取了所需的标题。 您可以使用处理器修复@veggen所述的Cookie。 –

+0

感谢您的回复 - 您能否建议一种方法在我的本地进行测试?所以我有2个服务器,并且都在同一个域下运行 –

+0

如果你在本地运行任何两个应用程序,它们都将绑定到localhost(显然不同的端口),因此将驻留在同一个域中。您也可以混淆您的主机文件并在本地使用不同的域。所以,您只需要在本地运行任何cookie写入应用程序,并且您应该能够轻松地在本地测试Camel代理。 – kaqqao