On Wed, 2008-07-16 at 16:18 -0700, Leena Borle wrote:
> Hi,
> I have a struts-2 application running on Tomcat-5 with Single Sign on
> enabled. What I am trying to do is , use HttpClient(struts2 app) to access
> data other WAR(say WAR2) which also has Form Based login system. To avoid
> sending user's credentials(Which I don't have in my application), I am
> trying to send cookie-JSESSIOIDSSO in the request header.
> Everything works fine, I get the data back. But after that, my application
> throws error that, session is invalidated.
> How do I stop HttpClient from invalidating the session ?
>
> Thanks
> Leena.
>
Leena,
The HTTP session can only be invalidated by the server. HttpClient
merely uses the session cookie to inform the server that requests are
logically related.
Oleg
> Here is the code in my application ,
>
> (Struts-2) HttpServletRequest request = ServletActionContext.getRequest();
>
> //try out httpclient
>
> javax.servlet.http.Cookie[] cookies = request.getCookies();
> HttpState newState = new HttpState();
> javax.servlet.http.Cookie ssoID = null;
> for(int c = 0; c < cookies.length; c ++) {
> javax.servlet.http.Cookie k = cookies[c];
> if(k.getName().equalsIgnoreCase("JSESSIONIDSSO"))
> ssoID=k;
> }
>
>
> HttpClient client = new HttpClient();
> client.setState(newState);
> GetMethod getMethod = new GetMethod("
> http://localhost:8080/war2/exceuteServlet");
>
> getMethod.getParams().setCookiePolicy(org.apache.commons.httpclient.cookie.CookiePolicy.IGNORE_COOKIES);
>
> getMethod.setRequestHeader("Cookie", ssoID.getName() + "=" +
> ssoID.getValue());
> try {
>
> int responseCode =
> client.executeMethod(null,getMethod,newState);
> String body = getMethod.getResponseBodyAsString();
>
> AppLogger.getLogger().debug("Response code = " + responseCode+ "
> \nResponse is " + body);
>
> } catch (HttpException e) {
> // TODO Auto-generated catch block
>
> } catch (IOException e) {
> // TODO Auto-generated catch block
>
> } finally {
> // release any connection resources used by the method
> getMethod.releaseConnection();
> }
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]