2010-12-20 10 views
0

私はRailsアプリケーションと会話するアプレットを持っています。アプレットの通信がユーザーのブラウジングセッションの一部として認識されるように、ユーザーのセッションを維持したいと考えています。リクエストを送信するのにApacheのHTTPClientを使用しますが、レールアプリケーションはリクエストをユーザーセッションの一部として認識しません。RailsアプリケーションでHTTPClientを使用してセッションを維持する

これは私がリクエストを構築するために使用するコードですが、私はアプレットのパラメータとしてsession_idの変数とHTTP_COOKIE変数に渡します

 HttpClient client = new HttpClient(); 
     Cookie httpCookie = new Cookie("localhost", "HTTP_COOKIE", http_cookie, "/", null, false); 
     Cookie sessionID = new Cookie("localhost", "session_id", session_id, "/", null, false); 

     HttpState initialState = new HttpState(); 
     initialState.addCookie(httpCookie); 
     initialState.addCookie(sessionID); 
     client.setState(initialState); 

     PostMethod post = new PostMethod("http://localhost:3001/vizs/add"); 

任意の提案は素晴らしいことです!

slothishtype

答えて

0

Iは、次のコードでこれを解決:

文字列session_id_str = "6a7eec105k231g51bjd0655e638034f3"。

Cookie sessionID =新しいCookie( "127.0.0.1:3001"、 "_chatter_session"、session_id_str、 "/"、null、false);

HttpState initialState = new HttpState();

initialState.addCookie(sessionID);

client.setState(initialState);

二つの問題があった。

1)URLにポート番号を入れていません。

2)誤ったセッションIDを指定しています。この例では、アプリケーションはチャタリングと呼ばれるため、session_idは_chatter_sessionです。セッションIDをパラメータとしてアプレットに追加します。

関連する問題