Jersey
및 Jetty
을 사용하여 구현 된 웹 서비스와 통신해야하는 Android 애플리케이션이 있습니다.Android 앱에서 Jersey 웹 서비스로 세션 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
문제는 내가 돈 '이다 올바르게 보냈다. 웹 서비스는 세션 ID를 보유하기로되어있는 HttpServletRequest
매개 변수로 주입되지만 그렇지 않습니다.
내가이처럼 전달하는 데 노력하고있어 방법 :
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);
...
}
가 왜 세션 ID는 웹 서비스의 요청에 주입되지 않는 이유는 무엇입니까?
쿠키 도메인 설정을 시도하십시오. 또한 코드에서 쿠키 이름은 "쿠키"입니다. 나는 "JSESSIONID"이어야하기 때문에 그것은 더미 값이라고 생각한다. –
정확히 도메인은 무엇이되어야 하는가? IP 주소가 –
인 웹 서비스에 연결하는 중 쿠키 도메인 값을 IP 주소 –