Re: Exception Handling with Seam

Splash Forums PrettyFaces Users Exception Handling with Seam Re: Exception Handling with Seam

#22126

enigmasse
Participant

It works! The Servlet errors are no longer wrapped.

I am still having an issue though. When I add PrettyFaces to my Seam/Richfaces project, Seam doesn’t handle the exception anymore. I believe the breaking combination is an expired session, an ajax request and PrettyFaces.

This is a stack trace before adding a PrettyFaces Processor (notice only one logged exception):

[#|2012-02-16T10:38:50.161-0500|INFO|sun-appserver2.1|javax.enterprise.system.stream.out|_ThreadID=16;_ThreadName=httpSSLWorkerThread-80-1;|228188 [httpSSLWorkerThread-80-1] ERROR org.jboss.seam.exception.Exceptions - handled and logged exception

javax.servlet.ServletException: viewId:/main.seam - View /main.seam could not be restored.

at javax.faces.webapp.FacesServlet.service(FacesServlet.java:270)

at org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:427)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:333)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)

at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:530)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:246)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)

at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:83)

at org.jboss.seam.web.IdentityFilter.doFilter(IdentityFilter.java:40)

at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)

at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:90)

at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)

at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64)

at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)

at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45)

at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)

at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:206)

at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)

at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:388)

at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:515)

at org.jboss.seam.web.Ajax4jsfFilter.doFilter(Ajax4jsfFilter.java:56)

at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)

at org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:246)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:313)

at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:287)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:218)

at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648)

at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593)

at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:94)

at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:98)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:222)

at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648)

at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:587)

at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1093)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:166)

at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648)

at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:587)

at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1093)

at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:291)

at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:666)

at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:597)

at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process(DefaultProcessorTask.java:872)

at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask(DefaultReadTask.java:341)

at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:263)

at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:214)

at com.sun.enterprise.web.portunif.PortUnificationPipeline$PUTask.doTask(PortUnificationPipeline.java:382)

at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:264)

at com.sun.enterprise.web.connector.grizzly.ssl.SSLWorkerThread.run(SSLWorkerThread.java:106)

Caused by: javax.faces.application.ViewExpiredException: viewId:/main.seam - View /main.seam could not be restored.

at com.sun.faces.lifecycle.RestoreViewPhase.execute(RestoreViewPhase.java:189)

at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)

at com.sun.faces.lifecycle.RestoreViewPhase.doPhase(RestoreViewPhase.java:102)

at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)

at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)

... 51 more

|#]

Then I add a PrettyFaces processor that modifies the URL, conduct the same test and here is the new stack trace (throws 3 exceptions):

[#|2012-02-16T10:22:06.638-0500|INFO|sun-appserver2.1|javax.enterprise.system.stream.out|_ThreadID=19;_ThreadName=httpSSLWorkerThread-80-2;|148843 [httpSSLWorkerThread-80-2] ERROR org.ajax4jsf.webapp.BaseXMLFilter - Exception in the filter chain

javax.servlet.ServletException: viewId:/main.seam - View /main.seam could not be restored.

at javax.faces.webapp.FacesServlet.service(FacesServlet.java:270)

at org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:427)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:333)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)

at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:206)

at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)

at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:388)

at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:515)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:246)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)

at com.ocpsoft.pretty.PrettyFilter.doFilter(PrettyFilter.java:133)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:246)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)

at org.apache.catalina.core.ApplicationDispatcher.doInvoke(ApplicationDispatcher.java:871)

at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:723)

at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:558)

at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:490)

at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:382)

at com.ocpsoft.pretty.PrettyFilter.rewrite(PrettyFilter.java:236)

at com.ocpsoft.pretty.PrettyFilter.doFilter(PrettyFilter.java:85)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:246)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:313)

at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:287)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:218)

at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648)

at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593)

at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:94)

at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:98)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:222)

at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648)

at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:587)

at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1093)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:166)

at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648)

at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:587)

at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1093)

at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:291)

at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:666)

at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:597)

at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process(DefaultProcessorTask.java:872)

at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask(DefaultReadTask.java:341)

at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:263)

at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:214)

at com.sun.enterprise.web.portunif.PortUnificationPipeline$PUTask.doTask(PortUnificationPipeline.java:382)

at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:264)

at com.sun.enterprise.web.connector.grizzly.ssl.SSLWorkerThread.run(SSLWorkerThread.java:106)

Caused by: javax.faces.application.ViewExpiredException: viewId:/main.seam - View /main.seam could not be restored.

at com.sun.faces.lifecycle.RestoreViewPhase.execute(RestoreViewPhase.java:189)

at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)

at com.sun.faces.lifecycle.RestoreViewPhase.doPhase(RestoreViewPhase.java:102)

at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)

at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)

... 48 more

|#]

[#|2012-02-16T10:22:06.639-0500|SEVERE|sun-appserver2.1|javax.enterprise.system.container.web|_ThreadID=19;_ThreadName=httpSSLWorkerThread-80-2;_RequestID=6bb84a57-4710-43fe-a214-559b845b3b64;|ApplicationDispatcher[] PWC1231: Servlet.service() for servlet Faces Servlet threw exception

javax.faces.application.ViewExpiredException: viewId:/main.seam - View /main.seam could not be restored.

at com.sun.faces.lifecycle.RestoreViewPhase.execute(RestoreViewPhase.java:189)

at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)

at com.sun.faces.lifecycle.RestoreViewPhase.doPhase(RestoreViewPhase.java:102)

at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)

at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)

at org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:427)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:333)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)

at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:206)

at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)

at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:388)

at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:515)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:246)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)

at com.ocpsoft.pretty.PrettyFilter.doFilter(PrettyFilter.java:133)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:246)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)

at org.apache.catalina.core.ApplicationDispatcher.doInvoke(ApplicationDispatcher.java:871)

at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:723)

at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:558)

at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:490)

at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:382)

at com.ocpsoft.pretty.PrettyFilter.rewrite(PrettyFilter.java:236)

at com.ocpsoft.pretty.PrettyFilter.doFilter(PrettyFilter.java:85)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:246)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:313)

at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:287)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:218)

at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648)

at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593)

at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:94)

at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:98)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:222)

at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648)

at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:587)

at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1093)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:166)

at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648)

at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:587)

at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1093)

at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:291)

at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:666)

at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:597)

at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process(DefaultProcessorTask.java:872)

at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask(DefaultReadTask.java:341)

at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:263)

at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:214)

at com.sun.enterprise.web.portunif.PortUnificationPipeline$PUTask.doTask(PortUnificationPipeline.java:382)

at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:264)

at com.sun.enterprise.web.connector.grizzly.ssl.SSLWorkerThread.run(SSLWorkerThread.java:106)

|#]

[#|2012-02-16T10:22:06.640-0500|SEVERE|sun-appserver2.1|javax.enterprise.system.container.web|_ThreadID=19;_ThreadName=httpSSLWorkerThread-80-2;_RequestID=6bb84a57-4710-43fe-a214-559b845b3b64;|StandardWrapperValve[default]: PWC1406: Servlet.service() for servlet default threw exception

javax.faces.application.ViewExpiredException: viewId:/main.seam - View /main.seam could not be restored.

at com.sun.faces.lifecycle.RestoreViewPhase.execute(RestoreViewPhase.java:189)

at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)

at com.sun.faces.lifecycle.RestoreViewPhase.doPhase(RestoreViewPhase.java:102)

at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)

at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)

at org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:427)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:333)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)

at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:206)

at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)

at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:388)

at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:515)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:246)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)

at com.ocpsoft.pretty.PrettyFilter.doFilter(PrettyFilter.java:133)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:246)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)

at org.apache.catalina.core.ApplicationDispatcher.doInvoke(ApplicationDispatcher.java:871)

at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:723)

at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:558)

at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:490)

at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:382)

at com.ocpsoft.pretty.PrettyFilter.rewrite(PrettyFilter.java:236)

at com.ocpsoft.pretty.PrettyFilter.doFilter(PrettyFilter.java:85)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:246)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:313)

at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:287)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:218)

at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648)

at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593)

at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:94)

at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:98)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:222)

at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648)

at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:587)

at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1093)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:166)

at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648)

at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:587)

at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1093)

at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:291)

at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:666)

at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:597)

at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process(DefaultProcessorTask.java:872)

at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask(DefaultReadTask.java:341)

at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:263)

at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:214)

at com.sun.enterprise.web.portunif.PortUnificationPipeline$PUTask.doTask(PortUnificationPipeline.java:382)

at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:264)

at com.sun.enterprise.web.connector.grizzly.ssl.SSLWorkerThread.run(SSLWorkerThread.java:106)

|#]

If the session is expired and you click a regular link, it works without a problem and Seam catches the ViewExpiredException. If you click on an AJAX link after the session is expired, I get the multiple exceptions and Seam doesn’t catch it.

I looked at the PrettyFilter.java:236 and this is the line: “req.getRequestDispatcher(newUrl).forward(req, resp);”. If I create a basic processor and just return the incoming URL, it works. But if I modify the URL in any way in the Processor, it breaks with the above exceptions.

Just to recap, it is only with AJAX requests with an expired session using PrettyFaces with a Processor. If I put a basic Processor in place (same inbound as outbound), only one exception is thrown and expected. If I modify the URL in the Processor, I get a multiple exceptions when I was hoping for just that one exception so Seam can catch it.

Do you have any ideas?