0 Replies Latest reply on Apr 14, 2009 12:56 PM by Santhosh Adari

    Spring webflow faces portal example on Jboss-portal

    Santhosh Adari Newbie

      Hello All,

      I get the following error when I try to deploy th eexample from Spring webflow source.:

      2009-04-14 12:37:57,851 DEBUG [org.springframework.webflow.engine.impl.FlowExecutionImpl] Attempting to handle [org.springframework.webflow.execution.FlowExecutionException: Exception thrown in state 'intro' of flow 'view'] with root cause [javax.faces.FacesException: No portlet bridge context]
      2009-04-14 12:37:57,851 DEBUG [org.springframework.webflow.engine.impl.FlowExecutionImpl] Rethrowing unhandled flow execution exception
      2009-04-14 12:37:57,851 DEBUG [org.springframework.web.portlet.DispatcherPortlet] Cleared thread-bound render request context: org.jboss.portal.portlet.impl.jsr168.api.RenderRequestImpl@eaf45a
      2009-04-14 12:37:57,851 ERROR [org.springframework.web.portlet.DispatcherPortlet] Could not complete request
      org.springframework.webflow.execution.FlowExecutionException: Exception thrown in state 'intro' of flow 'view'
      at org.springframework.webflow.engine.impl.FlowExecutionImpl.wrap(FlowExecutionImpl.java:568)
      at org.springframework.webflow.engine.impl.FlowExecutionImpl.start(FlowExecutionImpl.java:226)
      at org.springframework.webflow.executor.FlowExecutorImpl.launchExecution(FlowExecutorImpl.java:133)
      at org.springframework.webflow.mvc.portlet.FlowHandlerAdapter.startFlow(FlowHandlerAdapter.java:236)
      at org.springframework.webflow.mvc.portlet.FlowHandlerAdapter.startFlow(FlowHandlerAdapter.java:229)
      at org.springframework.webflow.mvc.portlet.FlowHandlerAdapter.handleRender(FlowHandlerAdapter.java:131)
      at org.springframework.web.portlet.DispatcherPortlet.doRenderService(DispatcherPortlet.java:811)
      at org.springframework.web.portlet.FrameworkPortlet.processRequest(FrameworkPortlet.java:483)
      at org.springframework.web.portlet.FrameworkPortlet.doDispatch(FrameworkPortlet.java:453)
      at javax.portlet.GenericPortlet.render(GenericPortlet.java:233)
      at org.jboss.portal.portlet.impl.jsr168.PortletContainerImpl$Invoker.doFilter(PortletContainerImpl.java:568)
      at org.jboss.portal.portlet.impl.jsr168.api.FilterChainImpl.doFilter(FilterChainImpl.java:159)
      at org.jboss.portal.portlet.impl.jsr168.api.FilterChainImpl.doFilter(FilterChainImpl.java:80)
      at org.jboss.portal.portlet.impl.jsr168.PortletContainerImpl.dispatch(PortletContainerImpl.java:505)
      at org.jboss.portal.portlet.container.ContainerPortletDispatcher.invoke(ContainerPortletDispatcher.java:42)
      at org.jboss.portal.portlet.PortletInvokerInterceptor.invoke(PortletInvokerInterceptor.java:82)
      at org.jboss.portal.core.aspects.portlet.TransactionInterceptor.org$jboss$portal$core$aspects$portlet$TransactionInterceptor$invokeNotSupported$aop(TransactionInterceptor.java:97)
      at org.jboss.portal.core.aspects.portlet.TransactionInterceptor$invokeNotSupported_N6922078035659651697.invokeNext(TransactionInterceptor$invokeNotSupported_N6922078035659651697.java)
      at org.jboss.aspects.tx.TxPolicy.invokeInNoTx(TxPolicy.java:66)
      at org.jboss.aspects.tx.TxInterceptor$NotSupported.invoke(TxInterceptor.java:112)
      at org.jboss.portal.core.aspects.portlet.TransactionInterceptor$invokeNotSupported_N6922078035659651697.invokeNext(TransactionInterceptor$invokeNotSupported_N6922078035659651697.java)
      at org.jboss.aspects.tx.TxPolicy.invokeInNoTx(TxPolicy.java:66)
      at org.jboss.aspects.tx.TxInterceptor$NotSupported.invoke(TxInterceptor.java:102)
      at org.jboss.portal.core.aspects.portlet.TransactionInterceptor$invokeNotSupported_N6922078035659651697.invokeNext(TransactionInterceptor$invokeNotSupported_N6922078035659651697.java)
      at org.jboss.portal.core.aspects.portlet.TransactionInterceptor.invokeNotSupported(TransactionInterceptor.java)
      at org.jboss.portal.core.aspects.portlet.TransactionInterceptor.invoke(TransactionInterceptor.java:58)
      at org.jboss.portal.portlet.PortletInvokerInterceptor.invoke(PortletInvokerInterceptor.java:82)
      at org.jboss.portal.core.aspects.portlet.HeaderInterceptor.invoke(HeaderInterceptor.java:49)
      at org.jboss.portal.portlet.PortletInvokerInterceptor.invoke(PortletInvokerInterceptor.java:82)
      at org.jboss.portal.portlet.aspects.portlet.EventPayloadInterceptor.invoke(EventPayloadInterceptor.java:196)
      at org.jboss.portal.portlet.PortletInvokerInterceptor.invoke(PortletInvokerInterceptor.java:82)
      at org.jboss.portal.portlet.aspects.portlet.RequestAttributeConversationInterceptor.invoke(RequestAttributeConversationInterceptor.java:119)
      at org.jboss.portal.portlet.PortletInvokerInterceptor.invoke(PortletInvokerInterceptor.java:82)
      at org.jboss.portal.portlet.PortletInvokerInterceptor.invoke(PortletInvokerInterceptor.java:82)
      at org.jboss.portal.core.aspects.portlet.SignOutInterceptor.invoke(SignOutInterceptor.java:43)
      at org.jboss.portal.portlet.PortletInvokerInterceptor.invoke(PortletInvokerInterceptor.java:82)
      at org.jboss.portal.core.aspects.portlet.AjaxInterceptor.invoke(AjaxInterceptor.java:49)
      at org.jboss.portal.portlet.PortletInvokerInterceptor.invoke(PortletInvokerInterceptor.java:82)
      at org.jboss.portal.core.aspects.portlet.BackwardCompatibilityInterceptor.invoke(BackwardCompatibilityInterceptor.java:46)
      at org.jboss.portal.portlet.PortletInvokerInterceptor.invoke(PortletInvokerInterceptor.java:82)
      at org.jboss.portal.portlet.bridge.BridgeInterceptor.invoke(BridgeInterceptor.java:49)
      at org.jboss.portal.portlet.PortletInvokerInterceptor.invoke(PortletInvokerInterceptor.java:82)
      at org.jboss.portal.portlet.aspects.portlet.PortletSessionSynchronizationInterceptor.invoke(PortletSessionSynchronizationInterceptor.java:82)
      at org.jboss.portal.portlet.PortletInvokerInterceptor.invoke(PortletInvokerInterceptor.java:82)
      at org.jboss.portal.portlet.aspects.portlet.ContextTrackerInterceptor.invoke(ContextTrackerInterceptor.java:48)
      at org.jboss.portal.portlet.PortletInvokerInterceptor.invoke(PortletInvokerInterceptor.java:82)
      at org.jboss.portal.portlet.aspects.portlet.ContextDispatcherInterceptor.access$001(ContextDispatcherInterceptor.java:49)
      at org.jboss.portal.portlet.aspects.portlet.ContextDispatcherInterceptor$1.doCallback(ContextDispatcherInterceptor.java:123)
      at org.jboss.portal.web.command.CommandDispatcher$CallbackCommand.execute(CommandDispatcher.java:74)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:585)
      at org.jboss.portal.web.command.CommandServlet.doGet(CommandServlet.java:130)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:654)
      at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:557)
      at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:481)
      at org.jboss.portal.web.command.CommandServlet.include(CommandServlet.java:79)
      at org.jboss.portal.web.command.CommandDispatcher.include(CommandDispatcher.java:50)
      at org.jboss.portal.web.jboss.JBossWebContext.include(JBossWebContext.java:66)
      at org.jboss.portal.web.impl.DefaultServletContainer.include(DefaultServletContainer.java:190)
      at org.jboss.portal.portlet.impl.spi.AbstractServerContext.dispatch(AbstractServerContext.java:69)
      at org.jboss.portal.portlet.aspects.portlet.ContextDispatcherInterceptor.invoke(ContextDispatcherInterceptor.java:77)
      at org.jboss.portal.portlet.PortletInvokerInterceptor.invoke(PortletInvokerInterceptor.java:82)
      at org.jboss.portal.portlet.aspects.portlet.SecureTransportInterceptor.invoke(SecureTransportInterceptor.java:69)
      at org.jboss.portal.portlet.PortletInvokerInterceptor.invoke(PortletInvokerInterceptor.java:82)
      at org.jboss.portal.portlet.aspects.portlet.ValveInterceptor.invoke(ValveInterceptor.java:75)
      at org.jboss.portal.portlet.PortletInvokerInterceptor.invoke(PortletInvokerInterceptor.java:82)
      at org.jboss.portal.portlet.container.ContainerPortletInvoker.invoke(ContainerPortletInvoker.java:116)
      at org.jboss.portal.portlet.PortletInvokerInterceptor.invoke(PortletInvokerInterceptor.java:82)
      at org.jboss.portal.portlet.state.producer.ProducerPortletInvoker.invoke(ProducerPortletInvoker.java:221)
      at org.jboss.portal.core.impl.portlet.state.ProducerPortletInvoker.org$jboss$portal$core$impl$portlet$state$ProducerPortletInvoker$invoke$aop(ProducerPortletInvoker.java:53)
      at

      web.xml looks like:

      <context-param>
      <param-name>contextConfigLocation</param-name>
      <param-value>
      /WEB-INF/config/application-config.xml
      </param-value>
      </context-param>
      <context-param>
      <param-name>org.ajax4jsf.VIEW_HANDLERS</param-name>
      <param-value>org.jboss.portletbridge.application.FaceletPortletViewHandler</param-value>
      </context-param>
      <context-param>
      <param-name>javax.portlet.faces.renderPolicy</param-name>
      <param-value>ALWAYS_DELEGATE</param-value>
      </context-param>
      <context-param>
      <param-name>javax.portlet.faces.BridgeImplClass</param-name>
      <param-value>javax.portlet.faces.GenericFacesPortlet</param-value>
      </context-param>

      <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>




      portlet.xml looks:


      <portlet-name>swfp</portlet-name>
      <display-name>Spring Webflow Booking Faces</display-name>

      <portlet-class>
      org.springframework.web.portlet.DispatcherPortlet
      </portlet-class>

      <init-param>
      contextConfigLocation

      /WEB-INF/config/hotelbooking-portlet-config.xml

      </init-param>

      <init-param>
      viewRendererUrl
      /WEB-INF/servlet/view
      </init-param>

      <expiration-cache>0</expiration-cache>


      <mime-type>text/html</mime-type>
      <portlet-mode>view</portlet-mode>


      <portlet-info>
      Spring Webflow Booking Faces
      </portlet-info>





      faces-config:


      <view-handler>org.jboss.portletbridge.application.PortletViewHandler</view-handler>
      <state-manager>org.jboss.portletbridge.application.PortletStateManager</state-manager>


      <faces-context-factory>
      org.jboss.portletbridge.context.FacesContextFactoryImpl
      </faces-context-factory>



      and hotelbooking-portlet-config.xml looks:


      <?xml version="1.0" encoding="UTF-8"?>
      <beans xmlns="http://www.springframework.org/schema/beans"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xmlns:webflow="http://www.springframework.org/schema/webflow-config"
      xmlns:faces="http://www.springframework.org/schema/faces"
      xsi:schemaLocation="
      http://www.springframework.org/schema/beans
      http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
      http://www.springframework.org/schema/webflow-config
      http://www.springframework.org/schema/webflow-config/spring-webflow-config-2.0.xsd
      http://www.springframework.org/schema/faces
      http://www.springframework.org/schema/faces/spring-faces-2.0.xsd">

      <!-- Maps portlet modes to handlers -->










      <!-- Maps logical view names selected by the url filename controller to .jsp view templates within the /WEB-INF directory -->





      <!-- Enables FlowHandlers -->




      <!-- Executes flows: the central entry point into the Spring Web Flow system -->
      <webflow:flow-executor id="flowExecutor">
      <webflow:flow-execution-listeners>
      <webflow:listener ref="jpaFlowExecutionListener" />
      </webflow:flow-execution-listeners>
      </webflow:flow-executor>

      <!-- The registry of executable flow definitions -->
      <webflow:flow-registry id="flowRegistry" flow-builder-services="facesFlowBuilderServices">
      <webflow:flow-location path="/WEB-INF/flows/view/view.xml" />
      <webflow:flow-location path="/WEB-INF/flows/main/main.xml" />
      <webflow:flow-location path="/WEB-INF/flows/booking/booking.xml" />
      </webflow:flow-registry>

      <!-- Configures the Spring Web Flow JSF integration -->
      <faces:flow-builder-services id="facesFlowBuilderServices" />

      <!-- Installs a listener that manages JPA persistence contexts for flows that require them -->

      <constructor-arg ref="entityManagerFactory" />
      <constructor-arg ref="transactionManager" />




      Any help would be appriciated.

      Thakn you,
      Santhosh