On 29/01/2009, at 4:08 AM, Chuck Hill wrote:
Score WebObjects: 1, Chuck: 0
Score Paul: 0, because...
The defect is mine. The correct code is: if (AjaxUtils.isAjaxRequest(aContext.request())) { // Create redirect to return to break out of Ajax AjaxUtils.redirectTo(errorPage); WOResponse redirect = errorPage.context().response();// Generate the error page so that it gets into the page cache, don't do this earlier!errorPage.generateResponse(); return redirect; } Or if (AjaxUtils.isAjaxRequest(aContext.request())) { // Create redirect to return to break out of Ajax AjaxUtils.redirectTo(errorPage); WOResponse redirect = errorPage.context().response(); // Force errorPage into the page cache, don't do this earlier! aContext.session().savePage(errorPage); return redirect; }
Both of these still produce the same result for me: a redirect to something like AM.woa/wo/4.0, which it presumably can't find and so returns Main. I've got logging in Session.terminate(), and it's not being called.
Using the second variant, if I log the sessionID at the call to session().savePage(), it's different from the sessionID for the Main component that eventually gets displayed. So there's no session termination, but a new session is being created. I don't know whether this is expected, or part of the problem.
-- Paul. w http://logicsquad.net/ h http://paul.hoadley.name/ _______________________________________________ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list ([email protected]) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to [email protected]
