ClassCastException using Sun's jsf-portlet.jar in Pluto 2.0

Rossen Stoyanchev <[email protected]> Wed, 21 Apr 2010 17:39:51 +0100
Newsgroups gmane.comp.jakarta.pluto.user
Message-ID <[email protected]>
Hi, I am attempting to use Sun's jsf-portlet integration with Pluto 2.0. 
I get the following:

Caused by: java.lang.ClassCastException: 
com.sun.faces.portlet.ByteArrayWebOutputStream cannot be cast to 
javax.servlet.ServletOutputStream
        at 
org.apache.pluto.container.impl.HttpServletPortletResponseWrapper.getOutputStream(HttpServletPortletResponseWrapper.java:234) 

        at 
org.apache.catalina.servlets.DefaultServlet.serveResource(DefaultServlet.java:792) 

        at 
org.apache.catalina.servlets.DefaultServlet.doGet(DefaultServlet.java:339)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
        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:646) 

        at 
org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:551) 

        at 
org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:488) 

        at 
org.apache.pluto.container.impl.PortletRequestDispatcherImpl.doDispatch(PortletRequestDispatcherImpl.java:174) 

        at 
org.apache.pluto.container.impl.PortletRequestDispatcherImpl.include(PortletRequestDispatcherImpl.java:227) 

        at 
com.sun.faces.portlet.ExternalContextImpl.dispatch(ExternalContextImpl.java:147) 

        at 
org.springframework.faces.webflow.ExternalContextWrapper.dispatch(ExternalContextWrapper.java:25) 

        at 
com.sun.faces.portlet.ViewHandlerImpl.executePageToBuildView(ViewHandlerImpl.java:371) 

        at 
com.sun.faces.portlet.ViewHandlerImpl.renderView(ViewHandlerImpl.java:235)
        at 
org.springframework.faces.webflow.FlowViewHandler.renderView(FlowViewHandler.java:91) 

        at 
org.springframework.faces.webflow.JsfView.render(JsfView.java:89)
        at 
org.springframework.webflow.engine.ViewState.render(ViewState.java:282)
        at 
org.springframework.webflow.engine.ViewState.doEnter(ViewState.java:186)
        at org.springframework.webflow.engine.State.enter(State.java:194)
        at org.springframework.webflow.engine.Flow.start(Flow.java:535)
        at 
org.springframework.webflow.engine.impl.FlowExecutionImpl.start(FlowExecutionImpl.java:364) 

        at 
org.springframework.webflow.engine.impl.FlowExecutionImpl.start(FlowExecutionImpl.java:222) 

        ... 69 more

The JavaDocs for javax.portlet.MimeResponse indicates the 
getPortletOutputStream() method return value is of type 
java.io.OutputStream. Hence the cast to 
javax.servlet.ServletOutputStream in HttpServletPortletResponseWrapper 
seems dodgy. Can you confirm if this is indeed an issue with Pluto's 
implementation or not?

Thanks,
Rossen