Jersey
とJetty
を使用して実装されたWebサービスと通信するはずのAndroidアプリケーションがあります。Android AppからJersey WebサービスへのセッションIDの送信
私はこのコードを使用して着信セッションIDを読み取ることができます。
private static void getCookie(HttpResponse httpResponse)
{
Header[] headers = httpResponse.getAllHeaders();
for (int i=0; i < headers.length; i++)
{
Header h = headers[i];
String s1 = h.getName();
if(s1.equals("Set-Cookie"))
{
sessionCookieValue = h.getValue().split(";",2)[0];
return;
}
}
}
これが動作しているようですし、私はクッキーの値に、このように値を取得する:JSESSIONID=8pdfuwgduykls5cvj971ylrc
問題は、私はドンということです」それを適切に送るようです。 Webサービスには、セッションIDを保持するはずのHttpServletRequest
パラメータが挿入されていますが、これは実行されません。
私はそれを渡すためにしようとしている方法は、このようなものです:セッションIDは、Webサービスにおける要求に注入されていないのはなぜ
DefaultHttpClient client = new DefaultHttpClient();
CookieStore cookieStore = new BasicCookieStore();
BasicClientCookie cookie = new BasicClientCookie("JSESSIONID", sessionCookieValue);
cookie.setPath("/");
cookie.setDomain(MyApplication.WEB_SERVICE_BASE_ADDRESS); //"192.168.200.158/"
cookieStore.addCookie(cookie);
client.setCookieStore(cookieStore);
HttpResponse httpResponse;
try
{
httpResponse = client.execute(request);
...
}
?
クッキードメインを設定してください。また、あなたのコードでは、クッキー名は「Cookie」です。私はそれが "JSESSIONID"でなければならないので、それはダミー値だと思う –
ドメインは正確に何か?私はIPアドレスを持つWebサービスに接続しています。 –
を取得してから、cookieドメインの値をIPアドレス –