Hi Sharon,

When you go to a new screen, the ULC applet stops correctly because applet's
stop() method is called which in turn stops the ULC application on the
server.

I assume your Log out button is on the same page as your ULC applet.

When you invalidate the HTTP session, the ULC Session contained within it is
deleted. But the ULC client is unaware of this and when it sends a request
(perhaps a keep alive request) to the server, the exception occurs.

So before invalidating the HTTP session you must stop your ULC application
properly.

You can do this by calling the stop() method of AbstractAppletLauncher on
your applet in case you are using the DefaultAppletlauncher. Or if you are
using your own custom applet launcher, define a method say, logout():

        public void logout() {
                getSession().sendStopApplicationAndWait();
        }

This method will tell the server side ULC application to stop and remove
ULCSession from HTTPSession and also inform the client to stop any further
communication.

You should call this method on the applet when you log out. This could be
done from a JavaScript.

I hope this helps.

Thanks and regards,

Janak

>-----Original Message-----
>From: [EMAIL PROTECTED]
>[mailto:[EMAIL PROTECTED] Behalf Of Sharon O'Connor
>Sent: Thursday, August 03, 2006 9:29 PM
>To: [email protected]
>Subject: [ULC-developer] Session invalidated exception
>
>
>I am new to ULC and have deployed an applet in a frame in our existing
>web application.  The applet stops correctly when navigating to a new
>screen but when the user 'Logs out' I get an exception.  The 'log out'
>method calls HttpSession.invalidate().  If anyone has experienced this
>or knows what is wrong please inform me of what I am doing wrong.
>
>Following is the exception in my tomcat log file:
>
>SEVERE: Servlet.service() for servlet ULCApplicationApplet threw
>exception
>javax.servlet.ServletException: unable to get ulc session (session
>already terminated)
>        at
>com.ulcjava.container.servlet.server.ContainerCommand.getUlcSession
>(ContainerCommand.java:27)
>        at
>com.ulcjava.container.servlet.server.RemoveSessionCommand.handleReq
>uestContent(RemoveSessionCommand.java:10)
>        at com.ulcjava.container.servlet.server.ContainerCommand.execute
>(ContainerCommand.java:43)
>        at
>com.ulcjava.container.servlet.server.ServletContainerAdapterHelper.b
>(ServletContainerAdapterHelper.java:175)
>        at
>com.ulcjava.container.servlet.server.ServletContainerAdapterHelper.
>service(ServletContainerAdapterHelper.java:86)
>        at
>com.ulcjava.container.servlet.server.ServletContainerAdapter.service
>(ServletContainerAdapter.java:1)
>        at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>        at
>org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
>(ApplicationFilterChain.java:252)
>        at org.apache.catalina.core.ApplicationFilterChain.doFilter
>(ApplicationFilterChain.java:173)
>        at org.apache.catalina.core.StandardWrapperValve.invoke
>(StandardWrapperValve.java:214)
>        at org.apache.catalina.core.StandardContextValve.invoke
>(StandardContextValve.java:178)
>        at org.apache.catalina.core.StandardHostValve.invoke
>(StandardHostValve.java:126)
>        at org.apache.catalina.valves.ErrorReportValve.invoke
>(ErrorReportValve.java:105)
>        at org.apache.catalina.core.StandardEngineValve.invoke
>(StandardEngineValve.java:107)
>        at org.apache.catalina.connector.CoyoteAdapter.service
>(CoyoteAdapter.java:148)
>        at org.apache.coyote.http11.Http11Processor.process
>(Http11Processor.java:825)
>        at org.apache.coyote.http11.Http11Protocol
>$Http11ConnectionHandler.processConnection(Http11Protocol.java:738)
>        at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket
>(PoolTcpEndpoint.java:526)
>        at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt
>(LeaderFollowerWorkerThread.java:80)
>        at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run
>(ThreadPool.java:684)
>        at java.lang.Thread.run(Thread.java:595)
>
>Thanks,
>--
>Sharon O'Connor
>Software Engineer
>Meridias Capital
>
>_______________________________________________
>ULC-developer mailing list
>[email protected]
>http://lists.canoo.com/mailman/listinfo/ulc-developer

_______________________________________________
ULC-developer mailing list
[email protected]
http://lists.canoo.com/mailman/listinfo/ulc-developer

Reply via email to