I have looked via debugger and basically expanded every piece of data. I will look at the codes closer though. I gave them a look the first time, but didn't seem to be any different from any other fault. But a second look certainly is not going to hurt.
From: [email protected] [mailto:[email protected]] On Behalf Of Marty Blood Sent: Friday, August 21, 2009 1:15 PM To: [email protected] Subject: Re: [AFFUG Discuss] Session timeout Have you tried running in debug and inspecting the FaultEvent manually? Since it's a HTTPService call it might return a FaultEvent with a HTTPResponse code (instead of a 200 maybe something more meaningful) or some such that's populated differently than the AMF call. Looking at the FaultEvent API you might look at the statusCode field or the content Object in the FaultEvent's Fault object to see if it has the HTTPResponse data you need to see that it was a session timeout (or if it was an exception the 500 or whatever server error response is coming back down the pipe). There's also the headers Object on the FaultEvent and the ErrorMessage which might contain the data you need. If you're feeling really fancy you can use WebScarab or some such to intercept the HTTPService response and inspect the HTTP headers manually to see if those give you any more insight. Anyway, good luck with that. -Marty On Fri, Aug 21, 2009 at 12:53 PM, Dale Bronk <[email protected]> wrote: Right, I'm not trying to catch it on the client. The server is catching it and throwing an exception as per our design. That causes a FaultEvent, not a ResultEvent. When we make AMF calls this is handled perfectly. Server side throws an exception. Our AMF fault handler interrogates the FaultEvent and sees that it is a session time out and handles it. But, when we make the HTTPService call the server still does what it is suppose to and throws an exception and that still causes a FaultEvent, but in our fault handler for the HTTPService call I do not see anywhere in the FaultEvent anything that tells me what the issue was. Our code for handling the AMF faults is: // Some non important to this issue code var errorMessage : ErrorMessage = ErrorMessage(faultEvent.message); var rootCause : Object = errorMessage.rootCause; if ( rootCause != null ) { // We have our own well known exception with properties that tell us what went wrong. var errorType : String = ( rootCause.hasOwnProperty("type") ? String(rootCause.type) : null ); if ( errorType == "INVALID_OR_EXPIRED_CREDENTIALS" ) { // Code to publish a session time out to the application } // Other non important to this issue code } The problem is that even though we throw the same exception, when it is a HTTPService call this information is not in the FaultEvent. I see no information from our backend processing at all anywhere in the FaultEvent. Thanks, Dale -----Original Message----- From: [email protected] [mailto:[email protected]] On Behalf Of Cameron Childress Sent: Friday, August 21, 2009 12:11 PM To: [email protected] Subject: Re: [AFFUG Discuss] Session timeout The session timeout occurs because the client hasn't connected in a long time. This occurs on the server, while not connected to the client. So.... I may be wrong but I don't think you are ever going to get a client side Flex Event since this all occurs because the client hasn't been around in awhile. You can always catch it on the server and then have the Client check for a flag when it reconnects to see when the server session timed out. Someone please correct me if I am wrong. -Cameron On Fri, Aug 21, 2009 at 10:40 AM, Dale Bronk<[email protected]> wrote: > Anyone have a good pattern for detecting a session timeout for an > HTTPService call? We use Java on the backend and while we through a good > exception on the backend, it doesn't seem to make in the FaultEvent. I've > looked everywhere in the FaultEvent and just can't find any mention of the > true exception that was thrown. We have one small portion of the app that > is HTTPService calls and the rest is AMF using GraniteDS. We can handle the > AMF calls no problem as we can access the Java Exception that was thrown but > I'm stumped for the HTTPService calls. ------------------------------------------------------------- To unsubscribe from this list, simply email the list with unsubscribe in the subject line For more info, see http://www.affug.com Archive @ http://www.mail-archive.com/discussion%40affug.com/ List hosted by http://www.fusionlink.com ------------------------------------------------------------- ------------------------------------------------------------- To unsubscribe from this list, simply email the list with unsubscribe in the subject line For more info, see http://www.affug.com Archive @ http://www.mail-archive.com/discussion%40affug.com/ List hosted by http://www.fusionlink.com ------------------------------------------------------------- ------------------------------------------------------------- To unsubscribe from this list, simply email the list with unsubscribe in the subject line For more info, see http://www.affug.com Archive @ http://www.mail-archive.com/discussion%40affug.com/ List hosted by http://www.fusionlink.com -------------------------------------------------------------
