Uploaded image for project: 'Portlet Bridge'
  1. Portlet Bridge
  2. PBR-199

UnsupportedOperationException with JSR286 eventing.

    Details

    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: Major
    • Resolution: Cannot Reproduce
    • Affects Version/s: 2.0.0.FINAL.EAP43CP05
    • Fix Version/s: None
    • Component/s: JSF
    • Labels:
      None
    • Environment:

      Windows XP x32 SP3, JRE1.6.0_21

      Description

      I'm using the following software to run JSF inside the portlet on top of JetSpeed 2:
      1) JetSpeed2 v2.2.1 bundled with Tomcat v6.0.18 (includes Pluto v2.0.1 as a portlet container)
      2) JBoss Portlet Bridge v2.0.0 Final as a portlet bridge
      3) Mojarra v1.2_14 as a JSF implementation
      4) RichFaces v3.3.3 as a tag library.

      I made 2 simple JSF portlets to test JSR286 Inter Portlet Communication (Eventing and PRP) in the environment above. PRP works fine but I have an issue with Eventing. One of my portlets contains button which sends an Event (from the bean) and another contains message field bind to the bean where my handler writes string from an Event.

      When I click on Send Event button I'm getting the following exception:

      18.08.2010 17:30:46 org.apache.catalina.core.ApplicationDispatcher invoke
      SEVERE: Servlet.service() for servlet JetspeedContainer threw exception
      java.lang.UnsupportedOperationException
      at javax.faces.context.ExternalContext.getRequestCharacterEncoding(ExternalContext.java:672)
      at com.sun.faces.application.ViewHandlerImpl.initView(ViewHandlerImpl.java:118)
      at javax.faces.application.ViewHandlerWrapper.initView(ViewHandlerWrapper.java:175)
      at org.ajax4jsf.application.ViewHandlerWrapper.initView(ViewHandlerWrapper.java:128)
      at com.sun.faces.lifecycle.RestoreViewPhase.doPhase(RestoreViewPhase.java:101)
      at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
      at org.jboss.portletbridge.AjaxPortletBridge.execute(AjaxPortletBridge.java:1096)
      at org.jboss.portletbridge.AjaxPortletBridge.doFacesRequest(AjaxPortletBridge.java:885)
      at javax.portlet.faces.GenericFacesPortlet.processEvent(GenericFacesPortlet.java:556)
      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:597)
      at org.apache.jetspeed.portlet.PortletObjectProxy.invoke(PortletObjectProxy.java:181)
      at $Proxy38.processEvent(Unknown Source)
      at org.apache.jetspeed.factory.JetspeedPortletInstance.processEvent(JetspeedPortletInstance.java:130)
      at org.apache.jetspeed.container.services.JetspeedFilterChain.doFilter(JetspeedFilterChain.java:127)
      at org.apache.jetspeed.container.services.JetspeedFilterChain.processFilter(JetspeedFilterChain.java:69)
      at org.apache.jetspeed.container.services.JetspeedFilterManager.processFilter(JetspeedFilterManager.java:122)
      at org.apache.jetspeed.container.JetspeedContainerServlet.doGet(JetspeedContainerServlet.java:304)
      at org.apache.jetspeed.container.JetspeedContainerServlet.doPost(JetspeedContainerServlet.java:410)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
      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:630)
      at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:535)
      at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:472)
      at org.apache.jetspeed.container.invoker.ServletPortletInvoker.invoke(ServletPortletInvoker.java:165)
      at org.apache.jetspeed.container.invoker.JetspeedPortletInvokerService.event(JetspeedPortletInvokerService.java:110)
      at org.apache.pluto.container.impl.PortletContainerImpl.doEvent(PortletContainerImpl.java:417)
      at org.apache.jetspeed.events.EventCoordinationServiceImpl.processEvents(EventCoordinationServiceImpl.java:146)
      at com.avaya.as5300.ipc.fw.service.CustomEventCoordinationService.processEvents(CustomEventCoordinationService.java:42)
      at org.apache.pluto.container.impl.PortletContainerImpl.doAction(PortletContainerImpl.java:264)
      at org.apache.jetspeed.container.JetspeedPortletContainerWrapper.doAction(JetspeedPortletContainerWrapper.java:75)
      at org.apache.jetspeed.pipeline.valve.impl.ActionValveImpl.invoke(ActionValveImpl.java:95)
      at org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(JetspeedPipeline.java:242)
      at org.apache.jetspeed.container.ContainerValve.invoke(ContainerValve.java:88)
      at org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(JetspeedPipeline.java:242)
      at org.apache.jetspeed.container.PageHistoryValve.invoke(PageHistoryValve.java:108)
      at org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(JetspeedPipeline.java:242)
      at org.apache.jetspeed.profiler.impl.RefreshUserHomepageValveImpl.invoke(RefreshUserHomepageValveImpl.java:114)
      at org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(JetspeedPipeline.java:242)
      at org.apache.jetspeed.pipeline.valve.impl.AbstractPageValveImpl.invoke(AbstractPageValveImpl.java:169)
      at org.apache.jetspeed.pipeline.valve.impl.PageProfilerValveImpl.invoke(PageProfilerValveImpl.java:59)
      at org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(JetspeedPipeline.java:242)
      at org.apache.jetspeed.security.impl.LoginValidationValveImpl.invoke(LoginValidationValveImpl.java:158)
      at org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(JetspeedPipeline.java:242)
      at org.apache.jetspeed.security.impl.PasswordCredentialValveImpl.invoke(PasswordCredentialValveImpl.java:174)
      at org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(JetspeedPipeline.java:242)
      at org.apache.jetspeed.localization.impl.LocalizationValveImpl.invoke(LocalizationValveImpl.java:170)
      at org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(JetspeedPipeline.java:242)
      at org.apache.jetspeed.security.impl.AbstractSecurityValve$1.run(AbstractSecurityValve.java:138)
      at java.security.AccessController.doPrivileged(Native Method)
      at javax.security.auth.Subject.doAsPrivileged(Subject.java:454)
      at org.apache.jetspeed.security.JSSubject.doAsPrivileged(JSSubject.java:179)
      at org.apache.jetspeed.security.impl.AbstractSecurityValve.invoke(AbstractSecurityValve.java:132)
      at org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(JetspeedPipeline.java:242)
      at org.apache.jetspeed.container.url.impl.PortalURLValveImpl.invoke(PortalURLValveImpl.java:88)
      at org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(JetspeedPipeline.java:242)
      at org.apache.jetspeed.capabilities.impl.CapabilityValveImpl.invoke(CapabilityValveImpl.java:127)
      at org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(JetspeedPipeline.java:242)
      at org.apache.jetspeed.pipeline.JetspeedPipeline.invoke(JetspeedPipeline.java:163)
      at org.apache.jetspeed.engine.JetspeedEngine.service(JetspeedEngine.java:225)
      at org.apache.jetspeed.engine.JetspeedServlet.invoke(JetspeedServlet.java:300)
      at org.apache.jetspeed.engine.JetspeedServlet.service(JetspeedServlet.java:318)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      at org.apache.jetspeed.engine.servlet.XXSUrlAttackFilter.doFilter(XXSUrlAttackFilter.java:52)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
      at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
      at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:433)
      at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
      at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
      at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
      at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
      at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
      at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
      at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
      at java.lang.Thread.run(Thread.java:619)

      I had to add the following method to EventRequestExternalContextImpl and rebuild portlet bridge to fix an issue.

      public String getRequestCharacterEncoding()

      { return null; }

        Gliffy Diagrams

          Attachments

            Activity

              People

              • Assignee:
                kenfinni Ken Finnigan
                Reporter:
                amalysh Alexander Malyshev
              • Votes:
                1 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: