Skip to main content

This content has been archived and is no longer being updated. Links may not function; however, this content may be relevant to outdated versions of the product.

Support Article

Link - alternate domain URL "?get" changed to "?=%26get"

SA-2234

Summary



A “link” has been configured using the "Alternate Domain URL" in order for the users to reach another Web page.

Unfortunately, said link will be incorrectly generated and the users are having an error message instead of the expected Web page.
The URL used by the link contains a GET request followed by parameters ("?get&p1"), the URL is modify by PRPC to include an "=%26" between the character "?" and "get" as such ("?=%26get&p1")

From the clipboard side, the URL inside corresponding property looks fine. But when a user clicks on the link, the following "=%26" is getting added into the URL and therefore the Web page cannot be open.

Configuring a dedicated property instead of the "Alternate Domain URL" option is generating the exact same unexpected behaviour.


Error Messages



"The Webpage cannot be found" appears in a new window popup.




Steps to Reproduce



 
 
  1. Create a link with dedicated URL

 
  1. At runtime you get the following error:

 
  1. The HTML source is as expected:

 
  1. But the Fiddler is showing the extra characters added:





Root Cause



The same configuration with the same URL was working fine until Pega7.1 ML3. But ML4 has been impacted by a fix which went in for BUG-136099. Unfortunately said fix involved a small change to SafeURL_createFromURL().

The extra processing is to further parse the URL by SafeURL_getNameValuePairsAsObject(). This function should split up the query string on the URL and then on return from that function attach each query string parameter as a separate field on the SafeURL object.

The problem… Most URL query string parameters take on a name=value format. But in this case, the URL includes "?get&pVersion=0046". The pVersion parameter is fine, but the get parameter is not in a name=value format, and it seems like the code isn’t set up to handle that. What ends up happening is the behavior described in the bug, where the "?get" changed to "?=%2 

The change is valid and working as expected, but the result is that some extra processing happens to the URL that causes this issue.


Resolution



A local change has been implemented into UserWorkForm FRAGMENT to override the function called SafeURL_createFromURL() on safeURL.js. Change would be as follows:

Get the following line from the original code:

var index= strURL.indexOf("?”);

Replace with this line

var index= strURL.lastIndexOf("?”);
 
This issue will be fixed in PRPC 7.1.7

 

Published January 31, 2016 - Updated October 8, 2020

Was this useful?

0% found this useful

Have a question? Get answers now.

Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.

Did you find this content helpful?

Want to help us improve this content?

We'd prefer it if you saw us at our best.

Pega Community has detected you are using a browser which may prevent you from experiencing the site as intended. To improve your experience, please update your browser.

Close Deprecation Notice
Contact us