[
https://issues.apache.org/jira/browse/PB-52?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12462528
]
Matthew Bruzek commented on PB-52:
----------------------------------
I have tried the code changed for this bug and it works in my environment.
Aside from the redundant startsWith( "http" ) I think that is how the code
should work.
Thanks.
> JSF portal bridge attempting to encode URL twice fails
> ------------------------------------------------------
>
> Key: PB-52
> URL: https://issues.apache.org/jira/browse/PB-52
> Project: Portals Bridges
> Issue Type: Bug
> Components: jsf
> Affects Versions: 1.0
> Environment: Sun JSF Reference Implementation version 1.2
> (jsf-impl.jar)
> Websphere portlet container version 6.1.0
> Apache MyFaces JSF portal bridge version 1.0 (portals-bridges-jsf-1.0.jar)
> Reporter: Matthew Bruzek
> Assigned To: David Sean Taylor
>
> I evaluating the MyFaces portlet bridge with a sample JSF portal app and I
> ran into a problem. The portlet worked with the Sun portlet bridge, but does
> not even complete the render phase when I try to use the MyFaces portlet
> bridge.
> The exception I am seeing is:
> javax.servlet.ServletException: only absolute URLs or full path URIs are
> allowed
> Caused by: java.lang.IllegalArgumentException: only absolute URLs or full
> path URIs are allowed
> at
> com.ibm.ws.portletcontainer.core.impl.PortletResponseImpl.encodeURL(PortletResponseImpl.java:143)
> at
> org.apache.portals.bridges.jsf.PortletExternalContextImpl.encodeActionURL(PortletExternalContextImpl.java)
> I hooked up a remote debugger to see what was happening. The String URL that
> is passed into PortletExternalContextImpl is:
> pa.do?_pa=-1088437171&_rid=-507a2aba:10f977651ed:-7fee&.pa=true
> As you can see the URL is already encoded and the encodeActionURL( String )
> method attempts to call this.portletResponse.encodeURL(s). The
> PortletResponse tries to encode the string URL again, leading to the
> Exception.
> I tracked down the difference in Sun's version of ExternalContextImpl. I
> found a Sun portlet bridge bug # 6243708 that addresses the same problem of
> double encoding the value from the portlet environment. The Sun portlet
> bridge fixed this bug in their
> com.sun.faces.portlet.ExternalContextImpl.encodeActionURL( String ) method to
> return the string url instead of attempting to encode it again.
> I suggest that the PortletExternalContextImpl will always get portal encoded
> URL strings, and should return the string passed to it to avoid this
> Exceptional case.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]