Hi all,

I'd previously written about this but despite considerable advice and
help, I didn't make much progress although only just got around to
taking Chuck Hill's advice overriding Application.displayRequest().

My application is working perfectly except when I have multiple
instances. I've also heard occasional reports of problems logging in
only with a single instance although this is not reproducible. In both
circumstances, the user is asked to login again despite entering
correct credentials.

==== these first debug statements show a login and then a logout. This
works successfully.

Apr 10 21:46:16 RSNews[2001] INFO  NSLog  - Welcome to RSNews !
Apr 10 21:46:22 RSNews[2001] WARN  NSLog  -
Apr 10 21:46:23 RSNews[2001] DEBUG com.eldrix.news.app.Application  -
dispatchRequest(): session: null
Apr 10 21:46:23 RSNews[2001] DEBUG com.eldrix.news.app.Application  -
uri: /cgi-bin/WebObjects/RSNews.woa/womp/instanceRequest
Apr 10 21:46:23 RSNews[2001] DEBUG com.eldrix.news.app.Application  -
form values = {<instanceRequest type = (""NSDictionary">
        <queryInstance type="NSString">STATISTICS</queryInstance>
</instanceRequest>"); }
Apr 10 21:46:23 RSNews[2001] WARN  NSLog  - <WOWorkerThread id=0
socket=Socket[addr=/127.0.0.1,port=49191,localport=2001]> Exception
while sending response: java.net.SocketException: Broken pipe
Apr 10 21:46:42 RSNews[2001] DEBUG com.eldrix.news.app.Application  -
dispatchRequest(): session: null
Apr 10 21:46:42 RSNews[2001] DEBUG com.eldrix.news.app.Application  -
uri: /cgi-bin/WebObjects/RSNews.woa/1
Apr 10 21:46:42 RSNews[2001] DEBUG com.eldrix.news.app.Application  -
form values = {}
Apr 10 21:46:49 RSNews[2001] DEBUG com.eldrix.news.app.Application  -
dispatchRequest(): session: MJGDzuxKU0K6gt0AUKIXug
Apr 10 21:46:49 RSNews[2001] DEBUG com.eldrix.news.app.Application  -
uri: /cgi-bin/WebObjects/RSNews.woa/1/wa/login
Apr 10 21:46:49 RSNews[2001] DEBUG com.eldrix.news.app.Application  -
form values = {destinationUrl = ("/cgi-bin/WebObjects/RSNews.woa/1");
password = ("xxxx"); username = ("mark"); }
Apr 10 21:46:50 RSNews[2001] DEBUG com.eldrix.news.app.Session  -
Session created! Session ID : qnvbjwbmQ5YUra9QDv7Asw
Apr 10 21:46:50 RSNews[2001] DEBUG com.eldrix.news.app.DirectAction  -
Redirecting to original requested url:
/cgi-bin/WebObjects/RSNews.woa/1
Apr 10 21:46:50 RSNews[2001] DEBUG com.eldrix.news.app.DirectAction  -
Decoded url: /cgi-bin/WebObjects/RSNews.woa/1
Apr 10 21:46:50 RSNews[2001] DEBUG com.eldrix.news.app.DirectAction  -
Note: we are storing session id in cookies: therefore not using
wosid...
Apr 10 21:46:50 RSNews[2001] DEBUG com.eldrix.news.app.DirectAction  -
Finally: redirecting to page: /cgi-bin/WebObjects/RSNews.woa/1
Apr 10 21:46:50 RSNews[2001] DEBUG com.eldrix.news.app.Application  -
dispatchRequest(): session: qnvbjwbmQ5YUra9QDv7Asw
Apr 10 21:46:50 RSNews[2001] DEBUG com.eldrix.news.app.Application  -
uri: /cgi-bin/WebObjects/RSNews.woa/1
Apr 10 21:46:50 RSNews[2001] DEBUG com.eldrix.news.app.Application  -
form values = {}
Apr 10 21:46:56 RSNews[2001] DEBUG com.eldrix.news.app.Application  -
dispatchRequest(): session: qnvbjwbmQ5YUra9QDv7Asw
Apr 10 21:46:56 RSNews[2001] DEBUG com.eldrix.news.app.Application  -
uri: /cgi-bin/WebObjects/RSNews.woa/1/wa/DirectAction/logout?__cid=2

=== and now try to login again  note the different instances ----

Apr 10 21:46:56 RSNews[2002] DEBUG com.eldrix.news.app.Application  -
dispatchRequest(): session: null
Apr 10 21:46:56 RSNews[2002] DEBUG com.eldrix.news.app.Application  -
uri: /cgi-bin/WebObjects/RSNews.woa/2/wa/default
Apr 10 21:46:56 RSNews[2002] DEBUG com.eldrix.news.app.Application  -
form values = {}
Apr 10 21:47:06 RSNews[2003] DEBUG com.eldrix.news.app.Application  -
dispatchRequest(): session: null
Apr 10 21:47:06 RSNews[2003] DEBUG com.eldrix.news.app.Application  -
uri: /cgi-bin/WebObjects/RSNews.woa/3/wa/login
Apr 10 21:47:06 RSNews[2003] DEBUG com.eldrix.news.app.Application  -
form values = {destinationUrl =
("/cgi-bin/WebObjects/RSNews.woa/2/wa/default"); password = ("xxxx");
username = ("mark"); }
Apr 10 21:47:07 RSNews[2003] DEBUG com.eldrix.news.app.Session  -
Session created! Session ID : 5ZUxSZvyYuN2YYsvuGypq0
Apr 10 21:47:07 RSNews[2003] DEBUG com.eldrix.news.app.DirectAction  -
Redirecting to original requested url:
/cgi-bin/WebObjects/RSNews.woa/2/wa/default
Apr 10 21:47:07 RSNews[2003] DEBUG com.eldrix.news.app.DirectAction  -
Decoded url: /cgi-bin/WebObjects/RSNews.woa/2/wa/default
Apr 10 21:47:07 RSNews[2003] DEBUG com.eldrix.news.app.DirectAction  -
Note: we are storing session id in cookies: therefore not using
wosid...
Apr 10 21:47:07 RSNews[2003] DEBUG com.eldrix.news.app.DirectAction  -
Finally: redirecting to page:
/cgi-bin/WebObjects/RSNews.woa/2/wa/default

Apr 10 21:47:07 RSNews[2002] DEBUG com.eldrix.news.app.Application  -
dispatchRequest(): session: 5ZUxSZvyYuN2YYsvuGypq0
Apr 10 21:47:07 RSNews[2002] DEBUG com.eldrix.news.app.Application  -
uri: /cgi-bin/WebObjects/RSNews.woa/2/wa/default
Apr 10 21:47:07 RSNews[2002] DEBUG com.eldrix.news.app.Application  -
form values = {}
Apr 10 21:47:16 RSNews[2002] DEBUG com.eldrix.news.app.Application  -
dispatchRequest(): session: 5ZUxSZvyYuN2YYsvuGypq0
Apr 10 21:47:16 RSNews[2002] DEBUG com.eldrix.news.app.Application  -
uri: /cgi-bin/WebObjects/RSNews.woa/2/wa/login
Apr 10 21:47:16 RSNews[2002] DEBUG com.eldrix.news.app.Application  -
form values = {destinationUrl =
("/cgi-bin/WebObjects/RSNews.woa/2/wa/default"); password = ("xxxx");
username = ("mark"); }
Apr 10 21:47:16 RSNews[2002] DEBUG com.eldrix.news.app.Session  -
Session created! Session ID : gSTVJftbX1JzsEipBYqXyg
Apr 10 21:47:17 RSNews[2002] DEBUG com.eldrix.news.app.DirectAction  -
Redirecting to original requested url:
/cgi-bin/WebObjects/RSNews.woa/2/wa/default
Apr 10 21:47:17 RSNews[2002] DEBUG com.eldrix.news.app.DirectAction  -
Decoded url: /cgi-bin/WebObjects/RSNews.woa/2/wa/default
Apr 10 21:47:17 RSNews[2002] DEBUG com.eldrix.news.app.DirectAction  -
Note: we are storing session id in cookies: therefore not using
wosid...
Apr 10 21:47:17 RSNews[2002] DEBUG com.eldrix.news.app.DirectAction  -
Finally: redirecting to page:
/cgi-bin/WebObjects/RSNews.woa/2/wa/default

Now there are two odd things here.

Firstly, I had previously added a session constructor debug statement
and therefore concluded that I wasn't created a spurious session
BEFORE processing the login form. However, overriding Application's
dispatchRequest() clearly shows a different session identifier before
login. I can only conclude that someone somewhere is creating a
session that is not my Session class. I didn't think that was
possible. I don't know where session MJGDzuxKU0K6gt0AUKIXug is created
in the above log file.

Secondly, instance 2 is receiving a session created by instance 3. I
didn't think that was possible.

I'm blindly placing the contents of context().request().uri() into a
destinationUrl parameter of the login form and then redirecting to
that using ERXRedirect after processing the login form. Presumably
this is the cause of my difficulties but I was keen to allow direct
actions to be bookmarked and to support sending links via email.

Does anyone have any suggestions?

Many thanks,

Mark

-- 
Dr. Mark Wardle
Specialist registrar, Neurology
Cardiff, UK
 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to