[
https://issues.apache.org/jira/browse/PORTLETBRIDGE-48?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12634674#action_12634674
]
Michael Freedman commented on PORTLETBRIDGE-48:
-----------------------------------------------
Felix. Can you confirm that its the Faces implementation (or an extension you
are running with it) and not the bridge itself that makes the
ExternalContext.setRequestCharacterEncoding call? I can't find any code
references in the bridge itself that makes this call.
That being -- I see your point concerning the JSR-168 spec. Looks like
WebSphere is the first truly strict portlet container we have run on. I.e.
Though the spec clearly states that getPortletInputStream and getReader throw
an IllegalStateException if url encoded data -- it only implies the
setCharacterEncoding will also do so. I.e. the conformance test is just on
these first two calls. setCharacterEncoding throws an exception only if an
inputstream or reader have already been gotten. In the websphere case they
seem to process the parameters before calling the portlet and hence
setCharacterEncoding throws the exception. In the other container my guess is
that that don't process the parameters until first access and hence
setCharacterEncoding doesn't thrown the exception even though calling either of
the two other calls should (to pass the conformance test). Kind of weird huh?
I will talk the ExpertGroup about how we should deal with this. I.e. include
something like your patch (and spell it out in the spec) or do something
broader like try/catch the exception -- or ignore completely and push the
problem back to Faces which should catch/handle the error as it can happen in
the servlet environment. I think the lastis unlikely particularly if you tell
us that the problem is in the Faces impl itself (i.e. it call the
setCharacterEncoding call). Please let me know.
> IllegalStateException in Websphere Portal.
> ------------------------------------------
>
> Key: PORTLETBRIDGE-48
> URL: https://issues.apache.org/jira/browse/PORTLETBRIDGE-48
> Project: MyFaces Portlet Bridge
> Issue Type: Bug
> Components: Impl
> Affects Versions: 1.0.0
> Environment: IBM Websphere Portal 6.1
> Reporter: Felix Röthenbacher
> Attachments: PortletExternalContextImpl.java.diff
>
>
> The bridge tries to set the character encoding in the action phase. In
> Websphere Portal this results in an IllegalStateException as the HTTP body
> seems to be accessed already by the portal server.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.