I have this Flex client application I'm trying to implement
the Logout function for. This client has both HTTP and RTMP
connections to the server. So when the user presses the Logout
button in client, I'm trying to invalidate both HTTP and RTMP
sessions on the FDS so the FlexClient would get invalidated.
The behavior on the client is the Login screen pops up so the
user can login again if they want. The problem is, if they do so,
the following happens on the FDS side:
- connecting via the HTTP channel will result in
FlexContext.getFlexClient() call returning a new FlexClient object
(that is correct), with the newly created Http flex session
- aftarwards, trying to connect via the RTMP channel, will
result in FlexContext.getFlexClient() call returning
the old FlexClient object (that is, the one used on the
previous session, before the user pressed the Logout), wich is in
an
invalid state and has no sessions associated. Everything
would fail using this FlexClient. More over, here
FlexContext.getFlexSession() returns the new RTMPFlexSession object
(which is correct), but this session has no FlexClient objects
associated (the getFlexClients() call returns an empty list)!
My question is why would FDS do that?? Why is
FlexContext.getFlexClient() returning an old, invalidated
FlexClient object? It looks odd to me. I'm using LiveCycle Data
Services ES 2.5.1 on the backend, deployed on Tomcat 5.5
Thanks.
Robert