I don't know what exactly you're trying to do, but it looks pretty
suspicious. For one thing, if you call restoreSessionWithID, you
MUST return it to the session store with a saveSession call or you're
going to just deadlock on the second request for the session.
Personally, I think these API's are named wrong -- they should be
checkout and checkin, or even lock/unlock -- something that implies
more explicitly the behavior that you are in store for. It's so
important, it should be in a try/finally block. Like chuck said, you
should really look at one of the examples in Wonder. In eclipse,
just cmd-shift-t *RequestHandler with the Wonder sources in your
workspace. I'm also curious why you're implementing a custom request
handler just to call a specific component vs just using DA's or even
just the component request handler, but I suspect we're only seeing a
small part of things in your example blocks of code.
ms
On Sep 12, 2007, at 4:31 PM, Jonathan Miller wrote:
Hi,
I seem to be stuck between a server stop responding and a session
has timed out place :'(
I've circuitously landed with the following code:
private WOResponse answer(WORequest r){
WOContext ctx = new WOContext(r);
NSLog.out.appendln("4: " + r.sessionID());
// Application.application().restoreSessionWithID(r.sessionID
(), ctx);
Application.application().saveSessionForContext(ctx);
NSLog.out.appendln("4a: " + ctx.session().sessionID());
return Application.application().pageWithName("ResponsePage",
ctx).generateResponse();
}
For some reason the first logging statement returns the correct
session id while the second logging statement returns what appears
to be a new session ID.
If I use the following code
private WOResponse answer(WORequest r){
WOContext ctx = new WOContext(r);
NSLog.out.appendln("4: " + r.sessionID());
Application.application().restoreSessionWithID(r.sessionID
(), ctx);
// Application.application().saveSessionForContext(ctx);
NSLog.out.appendln("4a: " + ctx.session().sessionID());
return Application.application().pageWithName("ResponsePage",
ctx).generateResponse();
}
The application hangs before reaching the second logging statement.
Finally this version
private WOResponse answer(WORequest r){
WOContext ctx = new WOContext(r);
NSLog.out.appendln("4: " + r.sessionID());
// Application.application().restoreSessionWithID(r.sessionID
(), ctx);
// Application.application().saveSessionForContext(ctx);
NSLog.out.appendln("4a: " + ctx.session().sessionID());
return Application.application().pageWithName("ResponsePage",
ctx).generateResponse();
}
has the same result as the first.
Any concept what I might be doing wrong?
Thanks in advance
Jon
On Sep 11, 2007, at 5:04 PM, Chuck Hill wrote:
On Sep 11, 2007, at 5:09 PM, Jonathan Miller wrote:
Hi,
Does anyone have any help with the subject line? Basically, I'm
utilizing a customer request handler but I'm unclear how to
assign the session to the response.
The current function I'm using to generate the response looks
like the following:
private WOResponse answer(WORequest r){
WOContext ctx = new WOContext(r);
String sessionID; // Your job to get this from the request.
Application.application().restoreSessionWithID(sessionID, ctx);
Now you are responsible for checking it back in at the end of RR
cycle.
Application.application().sleep();
sleep? Huh?
return Application.application().pageWithName
("ResponsePage", ctx).generateResponse();
}
Thanks in advance!!
There are several request handlers in Wonder. It might be very
instructive to have a look at them.
Chuck
--
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 protected])
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-dev/mschrag%
40mdimension.com
This email sent to [EMAIL PROTECTED]
_______________________________________________
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]