[ 
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.

Reply via email to