2014-04-01 43 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