Support Article
Mashup gadget does not load after browser refresh
Summary
User has embedded the Mashup gadget in an external application. For the first time its loading as expected.
However, error occurs when user performs a browser refresh.
Error Messages
Cross-Origin Read Blocking (CORB) blocked cross-origin response https://hostname/prweb/7XvIRMgtsV4FGmAS4uqiH5VXALkwDqxt1hwFxX5fk94%5B*/!STANDARD?pzuiactionzzz=CXtpbn00SVlneW5qaVZpVVZZUS9PVU5SR1dubEllcWorQW5PMmE1Z05oa2RjU2Qvb3dKazU4MWtCSUxrOXFOd09NWFd4Q2xJcTFzN1NoZHQvK0U2Mm9WeDREcUNESmlCUzRzRnhtZDI4dm9Xb2huWT0%3D* with MIME type text/html.
Steps to Reproduce
- Configure a Mashup gadget
- Embed the gadget in an external application
- Refresh the browser
Root Cause
A defect in Pegasystems’ code or rules.
During the authentication, the query string which was passed previously was not set in the redirected URL. However, on refresh the same query string (which is stale) is set while redirecting which is results in the error.
Resolution
Perform the following local-change:Add the below java snippet as last steps in the authentication activity:
try{
Class<?> c = Class.forName("com.pega.pegarules.session.external.mgmt.IPRRequestor");
java.lang.reflect.Method m = c.getMethod("getAndResetQueryStringForRedirect");
m.invoke(tools.getRequestor());
}catch(Exception e){
oLog.error("Error in clearing query string", e);
}
Note: A warning log as below will display each time the user logs in after the local-change:
Invalid reference to non-public interface from class "com.pegarules.generated.activity.sh_action_authactivity_032ddb2c7a6436eef55acb78b152f2e2" to "com.pega.pegarules.session.external.mgmt.IPRRequestor"
Published January 14, 2020 - Updated December 2, 2021
Have a question? Get answers now.
Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.