You are viewing a plain text version of this content. The canonical link for it is here.
Posted to bridges-dev@portals.apache.org by "David Sean Taylor (JIRA)" <br...@portals.apache.org> on 2006/12/22 23:57:25 UTC
[jira] Work started: (PB-52) JSF portal bridge attempting to encode
URL twice fails
[ http://issues.apache.org/jira/browse/PB-52?page=all ]
Work on PB-52 started by David Sean Taylor.
> JSF portal bridge attempting to encode URL twice fails
> ------------------------------------------------------
>
> Key: PB-52
> URL: http://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: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: bridges-dev-unsubscribe@portals.apache.org
For additional commands, e-mail: bridges-dev-help@portals.apache.org