Re: Handling Session timeout with ajax
Re: Handling Session timeout with ajax
- Subject: Re: Handling Session timeout with ajax
- From: Chuck Hill <email@hidden>
- Date: Mon, 26 Jan 2009 13:25:19 -0800
On Jan 23, 2009, at 7:15 PM, Paul Hoadley wrote:
Hi Chuck,
On 20/01/2009, at 7:09 AM, Chuck Hill wrote:
...
if (AjaxUtils.isAjaxRequest(aContext.request()))
{
AjaxUtils.redirectTo(errorPage);
return errorPage.context().response();
}
return errorPage.generateResponse();
Should this also work in Application.handleException()? I've got
this:
public WOResponse handleException(Exception anException, WOContext
aContext) {
AMErrorPage errorPage = (AMErrorPage) pageWithName(AMErrorPage.class
.getName(), aContext);
errorPage.setPageType(AMErrorPage.EXCEPTION);
if (AjaxUtils.isAjaxRequest(aContext.request())) {
AjaxUtils.redirectTo(errorPage);
return errorPage.context().response();
}
return errorPage.generateResponse();
}
Throwing an exception from an Ajax action bypasses my AMErrorPage,
somehow logs me out of the app, and returns my Main page. I can't
even see how it's occurring. There's literally nothing in the
console beyond a log message from AMErrorPage.setPageType(). Again,
this is a slightly different issue than the OP, and I assume your
code above was for Application.handleSessionRestorationErrorInContext.
I have the same code (more or less) and it worked the last time that I
tested it. It sounds like there might be some other request getting
to the app after the one causing the exception. Try overridding
dispatchRequest and logging out each request.uri().
Chuck
--
Chuck Hill Senior Consultant / VP Development
Practical WebObjects - for developers who want to increase their
overall knowledge of WebObjects or who are trying to solve specific
problems.
http://www.global-village.net/products/practical_webobjects
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden