2016-11-04 10 views
0

page1からpage2にユーザーをリダイレクトするルートを開発しようとしています。Apache Camelを使用したページリダイレクト

ユーザーがURLにアクセスしたときにルートがトリガされます。http://localhost:8080/servlets/doSomething(ページ1) と私はそれは、例えばhttp://google.comにリダイレクトされるようにしたい(PAGE2)

私はキャメルでサーブレットさらされている:ウェブに

を.xmlファイル:ラクダのコンテキストで

<servlet> 
    <servlet-name>camelServlet</servlet-name> 
    <servlet-class>org.apache.camel.component.servlet.CamelHttpTransportServlet</servlet-class> 
    <load-on-startup>1</load-on-startup> 
</servlet> 
<servlet-mapping> 
    <servlet-name>camelServlet</servlet-name> 
    <url-pattern>/servlets/*</url-pattern> 
</servlet-mapping> 

<camel:from uri="servlet://doSomething?servletName=camelServlet" /> 

私が使用してリダイレクトしようとしています:

<camel:to uri="http://google.com?bridgeEndpoint=true" /> 

しかしjava.net.ConnectExceptionを得た:接続がタイムアウトしました:単純に送信し、適切なHTTP status codeをし、あなたがにリダイレクトするURLを入れ

答えて

1

を接続HTTPヘッダー "場所"。キャメルJavaでは

、これはこのようなものでなければなりません:あなたはこのプロキシルートを試すことができます

from("servlet://doSomething?servletName=camelServlet") 
    .setHeader("Location", simple("http://www.google.com")) 
    .setHeader(Exchange.HTTP_RESPONSE_CODE, 302); 
+0

は、ご返信いただきありがとうございます、まだ例外を取得:java.net .ConnectException – S19

+0

どの部分が例外を取得していますか?ブラウザ? – Mektoub

+0

もちろん、を削除してください。キャメルは自動的に返信する必要があります... – Mektoub

0

<route id="ProxyRoute"> 
     <from uri="jetty:http://0.0.0.0:8080/servlets/doSomething?matchOnUriPrefix=true&amp;continuationTimeout=900000&amp;httpClient.timeout=900000"/> 
     <to uri="jetty:http://google.com?bridgeEndpoint=true&amp;throwExceptionOnFailure=false&amp;continuationTimeout=900000&amp;httpClient.timeout=900000"/> 
    </route> 
関連する問題