[jboss-user] [JBoss Seam] - Seam + Portlets + JSF + Facelets problem: Exception in Phase

mzeijen do-not-reply at jboss.com
Fri Sep 1 18:02:24 EDT 2006


I have been working on a way to get Seam working in a Portlet together with JSF and Facelets. After some hours of trying several stuff to get it all working together I thought I had the solution. But then the exception below got thrown. At first I thought that the problem was that I got the wrong value for the myFacesLifecycleBug property. But I tried true and false and both don't work (I am using myFaces 1.1.3). Any other solution I don't know. My configuration details are below the exception.


  | 23:49:05,156 ERROR [PhaseListenerManager] Exception in PhaseListener RENDER_RESPONSE(6) afterPhase
  | java.lang.IllegalStateException: No active session context
  | 	at org.jboss.seam.Seam.isSessionInvalid(Seam.java:176)
  | 	at org.jboss.seam.contexts.Lifecycle.endRequest(Lifecycle.java:235)
  | 	at org.jboss.seam.jsf.SeamPortletPhaseListener.afterPhase(SeamPortletPhaseListener.java:87)
  | 	at org.jboss.seam.jsf.SeamExtendedManagedPersistencePortletPhaseListener.afterPhase(SeamExtendedManagedPersistencePortletPhaseListener.java:53)
  | 	at org.apache.myfaces.lifecycle.PhaseListenerManager.informPhaseListenersAfter(PhaseListenerManager.java:89)
  | 	at org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:391)
  | 	at org.apache.myfaces.portlet.MyFacesGenericPortlet.nonFacesRequest(MyFacesGenericPortlet.java:322)
  | 	at org.apache.myfaces.portlet.MyFacesGenericPortlet.nonFacesRequest(MyFacesGenericPortlet.java:297)
  | 	at org.apache.myfaces.portlet.MyFacesGenericPortlet.facesRender(MyFacesGenericPortlet.java:379)
  | 	at org.apache.myfaces.portlet.MyFacesGenericPortlet.doView(MyFacesGenericPortlet.java:265)
  | 	at javax.portlet.GenericPortlet.doDispatch(GenericPortlet.java:167)
  | 	at javax.portlet.GenericPortlet.render(GenericPortlet.java:407)
  | 	at com.smies.portlet.MyFacesGenericPortlet.render(MyFacesGenericPortlet.java:51)
  | 	at org.jboss.portal.portlet.container.PortletContainer.invokeRender(PortletContainer.java:519)
  | 	at org.jboss.portal.portlet.container.PortletContainer.dispatch(PortletContainer.java:440)
  | 	at org.jboss.portal.portlet.container.PortletContainerInvoker$1.dispatch(PortletContainerInvoker.java:143)
  | 	at org.jboss.portal.portlet.invocation.PortletInvocation.dispatch(PortletInvocation.java:242)
  | 	at org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java:140)
  | 	at org.jboss.portal.core.aspects.portlet.TransactionInterceptor.org$jboss$portal$core$aspects$portlet$TransactionInterceptor$invokeNotSupported$aop(TransactionInterceptor.java:85)
  | 	at org.jboss.portal.core.aspects.portlet.TransactionInterceptor$invokeNotSupported_4827075286966232824.invokeNext(TransactionInterceptor$invokeNotSupported_4827075286966232824.java)
  | 	at org.jboss.aspects.tx.TxPolicy.invokeInNoTx(TxPolicy.java:66)
  | 	at org.jboss.aspects.tx.TxInterceptor$NotSupported.invoke(TxInterceptor.java:101)
  | 	at org.jboss.portal.core.aspects.portlet.TransactionInterceptor$invokeNotSupported_4827075286966232824.invokeNext(TransactionInterceptor$invokeNotSupported_4827075286966232824.java)
  | 	at org.jboss.portal.core.aspects.portlet.TransactionInterceptor.invokeNotSupported(TransactionInterceptor.java)
  | 	at org.jboss.portal.core.aspects.portlet.TransactionInterceptor.invoke(TransactionInterceptor.java:55)
  | 	at org.jboss.portal.portlet.invocation.PortletInterceptor.invoke(PortletInterceptor.java:37)
  | 	at org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java:130)
  | 	at org.jboss.portal.core.aspects.portlet.HeaderInterceptor.invoke(HeaderInterceptor.java:49)
  | 	at org.jboss.portal.portlet.invocation.PortletInterceptor.invoke(PortletInterceptor.java:37)
  | 	at org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java:130)
  | 	at org.jboss.portal.portlet.aspects.portlet.ProducerCacheInterceptor.invoke(ProducerCacheInterceptor.java:50)
  | 	at org.jboss.portal.portlet.invocation.PortletInterceptor.invoke(PortletInterceptor.java:37)
  | 	at org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java:130)
  | 	at org.jboss.portal.portlet.aspects.portlet.ModesInterceptor.invoke(ModesInterceptor.java:59)
  | 	at org.jboss.portal.portlet.invocation.PortletInterceptor.invoke(PortletInterceptor.java:37)
  | 	at org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java:130)
  | 	at org.jboss.portal.bridge.BridgeInterceptor.invoke(BridgeInterceptor.java:45)
  | 	at org.jboss.portal.portlet.invocation.PortletInterceptor.invoke(PortletInterceptor.java:37)
  | 	at org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java:130)
  | 	at org.jboss.portal.portlet.aspects.portlet.WindowStatesInterceptor.invoke(WindowStatesInterceptor.java:55)
  | 	at org.jboss.portal.portlet.invocation.PortletInterceptor.invoke(PortletInterceptor.java:37)
  | 	at org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java:130)
  | 	at org.jboss.portal.portlet.aspects.portlet.PortletSessionSynchronizationInterceptor.invoke(PortletSessionSynchronizationInterceptor.java:76)
  | 	at org.jboss.portal.portlet.invocation.PortletInterceptor.invoke(PortletInterceptor.java:37)
  | 	at org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java:130)
  | 	at org.jboss.portal.portlet.aspects.portlet.ContextDispatcherInterceptor$InvokeNextCommand.execute(ContextDispatcherInterceptor.java:124)
  | 	at sun.reflect.GeneratedMethodAccessor245.invoke(Unknown Source)
  | 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  | 	at java.lang.reflect.Method.invoke(Method.java:585)
  | 	at org.jboss.portal.server.servlet.CommandServlet.doGet(CommandServlet.java:104)
  | 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:697)
  | 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
  | 	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.ApplicationDispatcher.invoke(ApplicationDispatcher.java:672)
  | 	at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:539)
  | 	at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:499)
  | 	at org.jboss.portal.portlet.impl.spi.AbstractRequestContext.include(AbstractRequestContext.java:193)
  | 	at org.jboss.portal.portlet.aspects.portlet.ContextDispatcherInterceptor$1.include(ContextDispatcherInterceptor.java:68)
  | 	at org.jboss.portal.server.servlet.CommandServlet.include(CommandServlet.java:84)
  | 	at org.jboss.portal.portlet.aspects.portlet.ContextDispatcherInterceptor.invoke(ContextDispatcherInterceptor.java:74)
  | 	at org.jboss.portal.portlet.invocation.PortletInterceptor.invoke(PortletInterceptor.java:37)
  | 	at org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java:130)
  | 	at org.jboss.portal.portlet.aspects.portlet.ContextTrackerInterceptor.invoke(ContextTrackerInterceptor.java:50)
  | 	at org.jboss.portal.portlet.invocation.PortletInterceptor.invoke(PortletInterceptor.java:37)
  | 	at org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java:130)
  | 	at org.jboss.portal.portlet.aspects.portlet.SecureTransportInterceptor.invoke(SecureTransportInterceptor.java:65)
  | 	at org.jboss.portal.portlet.invocation.PortletInterceptor.invoke(PortletInterceptor.java:37)
  | 	at org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java:130)
  | 	at org.jboss.portal.portlet.aspects.portlet.ValveInterceptor.invoke(ValveInterceptor.java:61)
  | 	at org.jboss.portal.portlet.invocation.PortletInterceptor.invoke(PortletInterceptor.java:37)
  | 	at org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java:130)
  | 	at org.jboss.portal.common.invocation.Invocation.invoke(Invocation.java:171)
  | 	at org.jboss.portal.portlet.container.PortletContainerInvoker.invoke(PortletContainerInvoker.java:114)
  | 	at sun.reflect.GeneratedMethodAccessor234.invoke(Unknown Source)
  | 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  | 	at java.lang.reflect.Method.invoke(Method.java:585)
  | 	at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
  | 	at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
  | 	at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
  | 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
  | 	at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
  | 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
  | 	at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
  | 	at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
  | 	at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
  | 	at $Proxy65.invoke(Unknown Source)
  | 	at org.jboss.portal.portlet.state.producer.StatefulPortletInvoker.invoke(StatefulPortletInvoker.java:249)
  | 	at sun.reflect.GeneratedMethodAccessor233.invoke(Unknown Source)
  | 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  | 	at java.lang.reflect.Method.invoke(Method.java:585)
  | 	at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
  | 	at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
  | 	at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
  | 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
  | 	at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
  | 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
  | 	at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
  | 	at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
  | 	at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
  | 	at $Proxy67.invoke(Unknown Source)
  | 	at org.jboss.portal.federation.impl.FederatedPortletInvokerService.invoke(FederatedPortletInvokerService.java:139)
  | 	at org.jboss.portal.federation.impl.FederatingPortletInvokerService.invoke(FederatingPortletInvokerService.java:155)
  | 	at sun.reflect.GeneratedMethodAccessor232.invoke(Unknown Source)
  | 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  | 	at java.lang.reflect.Method.invoke(Method.java:585)
  | 	at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
  | 	at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
  | 	at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
  | 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
  | 	at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
  | 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
  | 	at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
  | 	at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
  | 	at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
  | 	at $Proxy69.invoke(Unknown Source)
  | 	at org.jboss.portal.portlet.test.TestPortletInvoker$1.dispatch(TestPortletInvoker.java:63)
  | 	at org.jboss.portal.portlet.invocation.PortletInvocation.dispatch(PortletInvocation.java:242)
  | 	at org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java:140)
  | 	at org.jboss.portal.portlet.aspects.portlet.PortalSessionSynchronizationInterceptor.invoke(PortalSessionSynchronizationInterceptor.java:85)
  | 	at org.jboss.portal.portlet.invocation.PortletInterceptor.invoke(PortletInterceptor.java:37)
  | 	at org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java:130)
  | 	at org.jboss.portal.portlet.aspects.portlet.ConsumerCacheInterceptor.invoke(ConsumerCacheInterceptor.java:93)
  | 	at org.jboss.portal.portlet.invocation.PortletInterceptor.invoke(PortletInterceptor.java:37)
  | 	at org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java:130)
  | 	at org.jboss.portal.core.model.instance.InstanceSecurityInterceptor.invoke(InstanceSecurityInterceptor.java:83)
  | 	at org.jboss.portal.portlet.invocation.PortletInterceptor.invoke(PortletInterceptor.java:37)
  | 	at org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java:130)
  | 	at org.jboss.portal.common.invocation.Invocation.invoke(Invocation.java:171)
  | 	at org.jboss.portal.portlet.test.TestPortletInvoker.invoke(TestPortletInvoker.java:123)
  | 	at sun.reflect.GeneratedMethodAccessor227.invoke(Unknown Source)
  | 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  | 	at java.lang.reflect.Method.invoke(Method.java:585)
  | 	at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
  | 	at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
  | 	at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
  | 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
  | 	at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
  | 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
  | 	at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
  | 	at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
  | 	at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
  | 	at $Proxy51.invoke(Unknown Source)
  | 	at org.jboss.portal.core.impl.model.instance.InstanceImpl.invoke(InstanceImpl.java:273)
  | 	at org.jboss.portal.core.command.RenderWindowCommand.execute(RenderWindowCommand.java:108)
  | 	at org.jboss.portal.core.command.ControllerCommand.dispatch(ControllerCommand.java:91)
  | 	at org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java:140)
  | 	at org.jboss.portal.core.aspects.controller.EventBroadcasterInterceptor.invoke(EventBroadcasterInterceptor.java:171)
  | 	at org.jboss.portal.core.command.CommandInterceptor.invoke(CommandInterceptor.java:37)
  | 	at org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java:130)
  | 	at org.jboss.portal.core.aspects.controller.PageNavigationInterceptor.invoke(PageNavigationInterceptor.java:80)
  | 	at org.jboss.portal.core.command.CommandInterceptor.invoke(CommandInterceptor.java:37)
  | 	at org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java:130)
  | 	at org.jboss.portal.core.aspects.controller.PolicyEnforcementInterceptor.invoke(PolicyEnforcementInterceptor.java:79)
  | 	at org.jboss.portal.core.command.CommandInterceptor.invoke(CommandInterceptor.java:37)
  | 	at org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java:130)
  | 	at org.jboss.portal.core.aspects.controller.PortalNodeInterceptor.invoke(PortalNodeInterceptor.java:59)
  | 	at org.jboss.portal.core.command.CommandInterceptor.invoke(CommandInterceptor.java:37)
  | 	at org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java:130)
  | 	at org.jboss.portal.common.invocation.Invocation.invoke(Invocation.java:171)
  | 	at org.jboss.portal.core.command.CommandContext.execute(CommandContext.java:102)
  | 	at org.jboss.portal.core.command.ExecutionContext.execute(ExecutionContext.java:91)
  | 	at org.jboss.portal.core.command.CommandContext.chain(CommandContext.java:148)
  | 	at org.jboss.portal.core.command.MarkupCommand.renderPortletWindow(MarkupCommand.java:463)
  | 	at org.jboss.portal.core.command.RenderPageCommand.renderFragments(RenderPageCommand.java:76)
  | 	at org.jboss.portal.core.command.MarkupCommand.execute(MarkupCommand.java:340)
  | 	at org.jboss.portal.core.command.ControllerCommand.dispatch(ControllerCommand.java:91)
  | 	at org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java:140)
  | 	at org.jboss.portal.core.aspects.controller.EventBroadcasterInterceptor.invoke(EventBroadcasterInterceptor.java:171)
  | 	at org.jboss.portal.core.command.CommandInterceptor.invoke(CommandInterceptor.java:37)
  | 	at org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java:130)
  | 	at org.jboss.portal.core.aspects.controller.PageNavigationInterceptor.invoke(PageNavigationInterceptor.java:80)
  | 	at org.jboss.portal.core.command.CommandInterceptor.invoke(CommandInterceptor.java:37)
  | 	at org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java:130)
  | 	at org.jboss.portal.core.aspects.controller.PolicyEnforcementInterceptor.invoke(PolicyEnforcementInterceptor.java:79)
  | 	at org.jboss.portal.core.command.CommandInterceptor.invoke(CommandInterceptor.java:37)
  | 	at org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java:130)
  | 	at org.jboss.portal.core.aspects.controller.PortalNodeInterceptor.invoke(PortalNodeInterceptor.java:59)
  | 	at org.jboss.portal.core.command.CommandInterceptor.invoke(CommandInterceptor.java:37)
  | 	at org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java:130)
  | 	at org.jboss.portal.common.invocation.Invocation.invoke(Invocation.java:171)
  | 	at org.jboss.portal.core.command.CommandContext.execute(CommandContext.java:102)
  | 	at org.jboss.portal.core.command.ExecutionContext.execute(ExecutionContext.java:91)
  | 	at org.jboss.portal.core.command.ExecutionContext.execute(ExecutionContext.java:78)
  | 	at org.jboss.portal.core.CoreController.handle(CoreController.java:126)
  | 	at sun.reflect.GeneratedMethodAccessor235.invoke(Unknown Source)
  | 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  | 	at java.lang.reflect.Method.invoke(Method.java:585)
  | 	at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
  | 	at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
  | 	at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
  | 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
  | 	at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
  | 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
  | 	at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
  | 	at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
  | 	at org.jboss.mx.util.JMXInvocationHandler.invoke(JMXInvocationHandler.java:287)
  | 	at $Proxy161.handle(Unknown Source)
  | 	at org.jboss.portal.server.ServerInvocation.dispatch(ServerInvocation.java:79)
  | 	at org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java:140)
  | 	at org.jboss.portal.server.aspects.server.NavigationInterceptor.invoke(NavigationInterceptor.java:64)
  | 	at org.jboss.portal.server.ServerInterceptor.invoke(ServerInterceptor.java:37)
  | 	at org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java:130)
  | 	at org.jboss.portal.server.aspects.server.ContentTypeInterceptor.invoke(ContentTypeInterceptor.java:65)
  | 	at org.jboss.portal.server.ServerInterceptor.invoke(ServerInterceptor.java:37)
  | 	at org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java:130)
  | 	at org.jboss.portal.core.aspects.server.LocaleInterceptor.invoke(LocaleInterceptor.java:74)
  | 	at org.jboss.portal.server.ServerInterceptor.invoke(ServerInterceptor.java:37)
  | 	at org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java:130)
  | 	at org.jboss.portal.core.aspects.server.UserInterceptor.invoke(UserInterceptor.java:174)
  | 	at org.jboss.portal.server.ServerInterceptor.invoke(ServerInterceptor.java:37)
  | 	at org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java:130)
  | 	at org.jboss.portal.server.aspects.server.SessionInvalidatorInterceptor.invoke(SessionInvalidatorInterceptor.java:92)
  | 	at org.jboss.portal.server.ServerInterceptor.invoke(ServerInterceptor.java:37)
  | 	at org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java:130)
  | 	at org.jboss.portal.core.aspects.server.TransactionInterceptor.org$jboss$portal$core$aspects$server$TransactionInterceptor$invoke$aop(TransactionInterceptor.java:49)
  | 	at org.jboss.portal.core.aspects.server.TransactionInterceptor$invoke_N5143606530999904530.invokeNext(TransactionInterceptor$invoke_N5143606530999904530.java)
  | 	at org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:79)
  | 	at org.jboss.aspects.tx.TxInterceptor$RequiresNew.invoke(TxInterceptor.java:275)
  | 	at org.jboss.portal.core.aspects.server.TransactionInterceptor$invoke_N5143606530999904530.invokeNext(TransactionInterceptor$invoke_N5143606530999904530.java)
  | 	at org.jboss.portal.core.aspects.server.TransactionInterceptor.invoke(TransactionInterceptor.java)
  | 	at org.jboss.portal.server.ServerInterceptor.invoke(ServerInterceptor.java:37)
  | 	at org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java:130)
  | 	at org.jboss.portal.common.invocation.Invocation.invoke(Invocation.java:171)
  | 	at org.jboss.portal.server.servlet.PortalServlet.process(PortalServlet.java:294)
  | 	at org.jboss.portal.server.servlet.PortalServlet.doGet(PortalServlet.java:172)
  | 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:697)
  | 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
  | 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
  | 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
  | 	at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
  | 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
  | 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
  | 	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
  | 	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
  | 	at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175)
  | 	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:432)
  | 	at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)
  | 	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:869)
  | 	at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
  | 	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
  | 	at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
  | 	at java.lang.Thread.run(Thread.java:595)
  | 
  | 

Here are the config files:

Components.xml

  | <components>
  | 
  |     <component name="org.jboss.seam.core.init">
  |     	<property name="debug">true</property>
  |         <property name="myFacesLifecycleBug">false</property>
  |         <property name="jndiPattern">@jndiPattern@</property>
  |     </component>
  |     
  |     <!-- 120 second conversation timeout -->
  |     <component name="org.jboss.seam.core.manager">
  |         <property name="conversationTimeout">120000</property>
  |     </component>
  |     
  |     <component class="org.jboss.seam.core.Ejb" installed="@embeddedEjb@"/>
  | 
  | </components>
  | 

components.properties

  | embeddedEjb false
  | jndiPattern TestPortlet/#{ejbName}/local
  | 

faces-config.xml

  | <?xml version="1.0" encoding="UTF-8"?>
  | <!DOCTYPE faces-config 
  |     PUBLIC "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.0//EN"
  |     "http://java.sun.com/dtd/web-facesconfig_1_0.dtd">
  | 
  | <faces-config>
  | 
  | 	<!-- Navigation rules for the Booking demo app -->
  | 	
  | 	<navigation-rule>
  | 		<from-view-id>*</from-view-id>
  | 		<navigation-case>
  | 			<from-outcome>view</from-outcome>
  | 			<to-view-id>/view.xhtml</to-view-id>
  | 		</navigation-case>
  | 	</navigation-rule>
  | 	
  | 	<navigation-rule>
  | 		<from-view-id>*</from-view-id>
  | 		<navigation-case>
  | 			<from-outcome>edit</from-outcome>
  | 			<to-view-id>/edit.xhtml</to-view-id>
  | 		</navigation-case>
  | 	</navigation-rule>
  | 	
  | 	<navigation-rule>
  | 		<from-view-id>*</from-view-id>
  | 		<navigation-case>
  | 			<from-outcome>help</from-outcome>
  | 			<to-view-id>/help.xhtml</to-view-id>
  | 		</navigation-case>
  | 	</navigation-rule>
  | 
  | 	<application>
  | 		<view-handler>
  | 			com.sun.facelets.FaceletPortletViewHandler
  | 		</view-handler>
  | 	</application>
  | 
  | 	<!-- Select one of the two standard persistence lifecycle models for the Seam application -->
  | 
  | 	<lifecycle>
  | 		<phase-listener>
  | 			org.jboss.seam.jsf.SeamExtendedManagedPersistencePortletPhaseListener
  | 		</phase-listener>
  | 	</lifecycle>
  | 
  | </faces-config>
  | 

web.xml

  | <?xml version="1.0" encoding="UTF-8"?>
  | <web-app> 
  | 
  | 	 <!-- ### Seam  ############################################################################################### -->
  |    
  |     <listener>
  |         <listener-class>org.jboss.seam.servlet.SeamListener</listener-class>
  |     </listener>
  | 	
  |     <!-- Propagate conversations across redirects -->
  |     <filter>
  |         <filter-name>Seam Redirect Filter</filter-name>
  |         <filter-class>org.jboss.seam.servlet.SeamRedirectFilter</filter-class>
  |     </filter>
  |     
  |     <filter-mapping>
  |         <filter-name>Seam Redirect Filter</filter-name>
  |         <url-pattern>*.seam</url-pattern>
  |     </filter-mapping>
  |     
  |     <filter-mapping>
  |         <filter-name>Seam Redirect Filter</filter-name>
  |         <url-pattern>*.xhtml</url-pattern>
  |     </filter-mapping>
  |     
  |     <!-- ### JSF ############################################################################################### -->
  |     
  |     <context-param>
  |         <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
  |         <param-value>client</param-value>
  |     </context-param>
  | 
  |     <context-param>
  |         <param-name>javax.faces.DEFAULT_SUFFIX</param-name>
  |         <param-value>.xhtml</param-value>
  |     </context-param>
  | 
  |     <context-param>
  |         <param-name>facelets.DEVELOPMENT</param-name>
  |         <param-value>true</param-value>
  |     </context-param>
  | 
  |     <servlet>
  |         <servlet-name>Faces Servlet</servlet-name>
  |         <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
  |         <load-on-startup>1</load-on-startup>
  |     </servlet>
  | 	
  | 	 <!-- ### MY FACES ############################################################################################### -->
  |     
  | 	
  | 	<context-param>
  | 		<param-name>org.apache.myfaces.ALLOW_JAVASCRIPT</param-name>
  | 		<param-value>true</param-value>
  | 		<description>
  | 		    This parameter tells MyFaces if javascript code should be allowed in the
  | 		    rendered HTML output.
  | 		    If javascript is allowed, command_link anchors will have javascript code
  | 		    that submits the corresponding form.
  | 		    If javascript is not allowed, the state saving info and nested parameters
  | 		    will be added as url parameters.
  | 		    Default: "true"
  | 		    </description>
  | 	</context-param>
  | 
  | 	<context-param>
  | 		<param-name>org.apache.myfaces.DETECT_JAVASCRIPT</param-name>
  | 		<param-value>false</param-value>
  | 		<description>
  | 		    This parameter tells MyFaces if javascript code should be allowed in the
  | 		    rendered HTML output.
  | 		    If javascript is allowed, command_link anchors will have javascript code
  | 		    that submits the corresponding form.
  | 		    If javascript is not allowed, the state saving info and nested parameters
  | 		    will be added as url parameters.
  | 		    Default: "false"
  | 	
  | 		    Setting this param to true should be combined with STATE_SAVING_METHOD "server" for
  | 		    best results.
  | 	
  | 		    This is an EXPERIMENTAL feature. You also have to enable the detector filter/filter mapping below to get
  | 		    JavaScript detection working.
  | 		    </description>
  | 	</context-param>
  | 
  | 	<context-param>
  | 		<param-name>org.apache.myfaces.PRETTY_HTML</param-name>
  | 		<param-value>true</param-value>
  | 		<description>
  | 		    If true, rendered HTML code will be formatted, so that it is "human readable".
  | 		    i.e. additional line separators and whitespace will be written, that do not
  | 		    influence the HTML code.
  | 		    Default: "true"
  | 		</description>
  | 	</context-param>
  | 
  | 	<context-param>
  | 		<param-name>org.apache.myfaces.AUTO_SCROLL</param-name>
  | 		<param-value>true</param-value>
  | 		<description>
  | 		    If true, a javascript function will be rendered that is able to restore the
  | 		    former vertical scroll on every request. Convenient feature if you have pages
  | 		    with long lists and you do not want the browser page to always jump to the top
  | 		    if you trigger a link or button action that stays on the same page.
  | 		    Default: "false"
  | 		</description>
  | 	</context-param>
  | 
  |     <!-- Extensions Filter -->
  | 	<filter>
  | 		<filter-name>extensionsFilter</filter-name>
  | 		<filter-class>org.apache.myfaces.component.html.util.ExtensionsFilter</filter-class>
  | 		<init-param>
  | 			<param-name>uploadMaxFileSize</param-name>
  | 			<param-value>100m</param-value>
  | 			<description>
  | 				Set the size limit for uploaded files.
  | 				Format: 10 - 10 bytes
  | 					10k - 10 KB
  | 					10m - 10 MB
  | 					1g - 1 GB
  | 			</description>
  | 		</init-param>
  | 		<init-param>
  | 			<param-name>uploadThresholdSize</param-name>
  | 			<param-value>100k</param-value>
  | 			<description>
  | 				Set the threshold size - files below this limit are stored in memory, files above
  | 				this limit are stored on disk.
  | 	
  | 				Format: 10 - 10 bytes
  | 					10k - 10 KB
  | 					10m - 10 MB
  | 					1g - 1 GB
  | 			</description>
  | 		</init-param>
  | 	</filter>
  | 
  |     <!-- ### Faces Servlet Mapping  ############################################################################################### -->
  |     
  |     <servlet-mapping>
  |         <servlet-name>Faces Servlet</servlet-name>
  |         <url-pattern>*.seam</url-pattern>
  |     </servlet-mapping>
  | 
  |     <servlet-mapping>
  |         <servlet-name>Faces Servlet</servlet-name>
  |         <url-pattern>*.xhtml</url-pattern>
  |     </servlet-mapping>
  | 
  | </web-app>
  | 
  | 


The portlet implementation of the FaceletsViewHandler

  | package com.sun.facelets;
  | 
  | import java.io.IOException;
  | 
  | import javax.faces.FacesException;
  | import javax.faces.application.ViewHandler;
  | import javax.faces.context.ExternalContext;
  | import javax.faces.context.FacesContext;
  | import javax.faces.context.ResponseWriter;
  | import javax.faces.render.RenderKit;
  | import javax.portlet.RenderRequest;
  | import javax.portlet.RenderResponse;
  | 
  | /**
  |  * ViewHandler implementation for Facelets used in Portlets
  |  * 
  |  */
  | public class FaceletPortletViewHandler extends FaceletViewHandler {
  | 	 public FaceletPortletViewHandler(ViewHandler parent) {
  | 	        super(parent);
  | 	    }
  | 
  | 	    protected ResponseWriter createResponseWriter(FacesContext context)
  | 	            throws IOException, FacesException {
  | 	        ExternalContext extContext = context.getExternalContext();
  | 	        RenderKit renderKit = context.getRenderKit();
  | 
  | 	        RenderRequest request = (RenderRequest) extContext.getRequest();
  | 	        RenderResponse response = (RenderResponse) extContext.getResponse();
  | 
  | 	        String contenttype = request.getResponseContentType();
  | 	        if (contenttype == null) {
  | 	            contenttype = "text/html";
  | 	        }
  | 
  | 	        String encoding = response.getCharacterEncoding();
  | 	        if (encoding == null) {
  | 	            encoding = "ISO-8859-1";
  | 	        }
  | 
  | 	        ResponseWriter writer = renderKit.createResponseWriter(NullWriter.Instance, contenttype, encoding);
  | 
  | 	        contenttype = writer.getContentType();
  | 
  | 	        // apply them to the response
  | 	        response.setContentType(contenttype);
  | 
  | 	        // Now, clone with the real writer
  | 	        writer = writer.cloneWithWriter(response.getWriter());
  | 
  | 	        return writer;
  | 	    }
  | 
  | }
  | 
  | 

Special version of the MyFaceGenericPortlet.

  | /**
  |  * 
  |  */
  | package com.smies.portlet;
  | 
  | import java.io.IOException;
  | import java.util.Enumeration;
  | 
  | import javax.portlet.PortletException;
  | import javax.portlet.PortletMode;
  | import javax.portlet.PortletSession;
  | import javax.portlet.RenderRequest;
  | import javax.portlet.RenderResponse;
  | import javax.portlet.UnavailableException;
  | 
  | /**
  |  * 
  |  */
  | public class MyFacesGenericPortlet extends org.apache.myfaces.portlet.MyFacesGenericPortlet {
  | 
  | 	private String viewPage = null;
  | 	private String editPage = null;
  | 	private String helpPage = null;
  | 	
  | 	public void init() throws UnavailableException, PortletException {
  | 		viewPage = (String) this.getInitParameter("ViewPage");
  | 		editPage = (String) this.getInitParameter("EditPage");
  | 		helpPage = (String) this.getInitParameter("HelpPage");
  | 		super.init();
  | 	}
  | 	
  | 	public void render(RenderRequest request, RenderResponse response)
  | 			throws PortletException, IOException {
  | 
  | 		PortletSession session = request.getPortletSession();
  | 		PortletMode mode = (PortletMode) session
  | 				.getAttribute("CurrentPortletMode");
  | 
  | 		if (mode == null) {
  | 			mode = request.getPortletMode();
  | 		}
  | 
  | 		if (mode != request.getPortletMode()) {
  | 			request.setAttribute("isPortletModeChanged", Boolean.TRUE);
  | 		} else {
  | 			request.setAttribute("isPortletModeChanged", Boolean.FALSE);
  | 		}
  | 
  | 		session.setAttribute("CurrentPortletMode", mode);
  | 		super.render(request, response);
  | 	}
  | 	
  | 	protected void setDefaultView() throws UnavailableException {
  |         this.defaultView = getPortletConfig().getInitParameter(DEFAULT_VIEW);
  |         if (defaultView == null) {
  |         	this.defaultView = this.viewPage;
  |         }
  |         if (defaultView == null) {
  |             String msg = "Fatal2: must specify a JSF view id as the default view in portlet.xml";
  |             throw new UnavailableException(msg);
  |         }
  |     }
  | 
  | 	protected void doEdit(RenderRequest request, RenderResponse response)
  | 			throws PortletException, IOException {
  | 
  | 		Boolean isPortletModeChanged = (Boolean) request.getAttribute("isPortletModeChanged");
  | 		if (isPortletModeChanged.booleanValue()) {
  | 			setPortletRequestFlag(request);
  | 			nonFacesRequest(request, response, editPage);
  | 			return;
  | 		}
  | 
  | 		facesRender(request, response);
  | 	}
  | 
  | 	protected void doHelp(RenderRequest request, RenderResponse response)
  | 			throws PortletException, IOException {
  | 
  | 		Boolean isPortletModeChanged = (Boolean) request.getAttribute("isPortletModeChanged");
  | 		if (isPortletModeChanged.booleanValue()) {
  | 			setPortletRequestFlag(request);
  | 			nonFacesRequest(request, response, helpPage);
  | 			return;
  | 		}
  | 
  | 		facesRender(request, response);
  | 	}
  | 
  | }
  | 
  | 



View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3969013#3969013

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3969013



More information about the jboss-user mailing list