The code was crashing but it has been resolved. Thanks.
vcm
-----Original Message-----
From: Chuck Hill [mailto:email@hidden]
Sent: Thursday, July 02, 2009 3:52 PM
To: email@hidden
Cc: email@hidden
Subject: Re: dispatchRequest method problem / Project Wonder integration
On Jul 1, 2009, at 6:51 AM, Vicky C. Miller wrote:
> We have updated our existing WebObjects application from WO 5.2.4 to
> WO
> 5.4.3 and integrated in Project Wonder. We have hit a problem with
> WebObjects 5.4.3 in our application and the dispatchRequest method in
> Application class that is a part of the WebObjects request response
> loop.
>
> The purpose of this section of our code is to check whether the same
> user
> who started accessing the application or somebody else is trying to
> access
> the application in the middle. This check will happen for every page
> request. If the logged in user is not the person who is accessing
> the page,
> then page will be redirected to homepage of solar application.
>
> Does any one have suggestions on resolving this? Below is more
> information.
> The interesting this is that this problem only occur when we attempt
> to log
> on using IE 7 or 8 but works fine in Safari and Firefox.
I don't think I understand what the problem is. What exactly is the
problem and what part of the code below is causing it?
Chuck
>
> Problem Location :
>
> In Class Application.java and in method public WOResponse
> dispatchRequest(WORequest aRequest)
>
> Problem Code :
>
> public WOResponse dispatchRequest(WORequest aRequest)
> {
> //here we basically want to capture one recently served perfect
> request, so to get to this, we'll check the request as follows.
> if(recentlyServedPerfectReq == null ||
> canResetRecentlyServedPerfectReq ||
> (recentlyServedPerfectReq.sessionID() !=
> null && aRequest.sessionID() != null
> &&
> recentlyServedPerfectReq.sessionID().equals(aRequest.sessionID())
> == false))
> {
> recentlyServedPerfectReq = aRequest;
> canResetRecentlyServedPerfectReq =
> (recentlyServedPerfectReq.sessionID() == null);
> }
> //added for bug# 313(07/11/2007, MSK) -- end
>
> // first check if the session is created for this Request
> // Session not created means, first time user
> if(aRequest.sessionID() == null || (aRequest.sessionID() !=
> null &&
> aRequest.formValueForKey(".loginPage") != null) ||
> (aRequest.sessionID() !=
> null && aRequest.formValueForKey(".homePage") != null) ||
> (aRequest.sessionID() != null &&
> aRequest.formValueForKey(".exitPage") !=
> null)){
> //This is the case where the session is not created Yet
> or the
> first page is not LoginPage
> return super.dispatchRequest(aRequest);
> }else if(aRequest.sessionID() != null &&
> aRequest.cookieValueForKey(aRequest.sessionID()) != null){
> // This is the case where the session is created and
> there is a
> cookie created in this request
> // check to see if the cookie matches the one that's set
> String userNameInSes = "";
> String hostNameInReq = "";
> String cookieValue =
> aRequest.cookieValueForKey(aRequest.sessionID());
> if(this.sessionStore() != null &&
> this
> .sessionStore().restoreSessionWithID(aRequest.sessionID(),aRequest) !=
> null){
> userNameInSes =
> ((Session
> )this.sessionStore().restoreSessionWithID(aRequest.sessionID(),aReq
> uest)).loginUser().fullName();
> hostNameInReq = getHostNameFromRequest(aRequest);
>
>
> //System.out.println(" Cookie Value Constructed from
> session
> and request values= " + userNameInSes+hostNameInReq);
>
> // check to see if the value of cookie is same as that
> obtained now
> if((userNameInSes+hostNameInReq).equals(cookieValue)){
> // success. Send the user to the respective Page
> return super.dispatchRequest(aRequest);
>
> }
> }
>
> }
> // Any of the case doesn'e match, send the user to the login
> Page.
> WOResponse res = new WOResponse();
> WOComponent redirectPage =
> pageWithName("Main",createContextForRequest(aRequest));
> WOResponse resp = redirectPage.generateResponse();
> res.setContent(resp.contentString());
> //res.setContent("<html><body><h1>Error</h1></body></html>");
> return res;
> }
>
>
>
> _______________________________________________
> Do not post admin requests to the list. They will be ignored.
> Webobjects-deploy mailing list (Webobjects-
> email@hidden)
> Help/Unsubscribe/Update your Subscription:
>
http://lists.apple.com/mailman/options/webobjects-deploy/chill%40global-vill
age.net
>
> This email sent to email@hidden
>
--
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-deploy mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-deploy/email@hidden
This email sent to email@hidden