[ https://issues.apache.org/jira/browse/PLUTO-745?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Neil Griffin closed PLUTO-745. ------------------------------ Resolution: Fixed Assignee: Neil Griffin (was: Scott Nicklous) Fix Version/s: 3.0.2 [~petermeyer]: Thanks for reporting this issue! Fixed in commit [0ef804ed309f0b212a3b486cae2c4e06ee0583a7|https://github.com/apache/portals-pluto/commit/0ef804ed309f0b212a3b486cae2c4e06ee0583a7]. > Context root with "/" in the middle leads to an error > ----------------------------------------------------- > > Key: PLUTO-745 > URL: https://issues.apache.org/jira/browse/PLUTO-745 > Project: Pluto > Issue Type: Bug > Components: portal driver > Affects Versions: 3.0.1 > Reporter: Peter Meyer > Assignee: Neil Griffin > Priority: Major > Fix For: 3.0.2 > > > A portlet application with context root /online/ReferenzPortlets leads to an > error when submitting a form - the url of the form cannot be executed - HTTP > 400. > This is due to the character which replaces the middle "/" in the portlet id > part of the URL. > To my analyses the problem arises in the class > org.apache.pluto.driver.url.impl.PortalURLParserImpl in the method "toString" > at line 454. > for (String pid : portalURL.getPortletIds()) { > pids.add(pid); > buffer.append(TOKEN_DELIM).append(PREFIX).append(PORTLET_ID); > try { > buffer.append(URLEncoder.encode(pid, "UTF-8")); > } catch(Exception e) { > LOG.warn("Could not encode pid=" + pid); > } > buffer.append(DELIM).append(String.valueOf(pids.indexOf(pid))); > } > I suggest to replace the expression URLEncoder.encode(pid, "UTF-8") with > urlEncode(pid). In the decode part there is already the use of the urlDecode > method on the pid part of the URL. -- This message was sent by Atlassian JIRA (v7.6.3#76005)