Support Article
NullPointerException during Custom Auth Service session
SA-10361
Summary
Following successful completion of custom Authentication Service (SSO), any interaction that requires a new Thread that requires to be created on the Clipboard fails to add the OperatorID page to that Thread. This results in a NullPointerException being thrown when the Code-Security. ApplicationSetup activity runs, as it assumes the existence of the OperatorID page on the current Thread.
Error Messages
java.lang.NullPointerException
at com.pegarules.generated.activity.ra_action_applicationsetup_474c9bc165dec30eef62154f01ed8d0c.step2_circum0(ra_action_applicationsetup_474c9bc165dec30eef62154f01ed8d0c.java:402)
at com.pegarules.generated.activity.ra_action_applicationsetup_474c9bc165dec30eef62154f01ed8d0c.perform(ra_action_applicationsetup_474c9bc165dec30eef62154f01ed8d0c.java:89)
at com.pega.pegarules.session.internal.mgmt.Executable.doActivity(Executable.java:3375)
Steps to Reproduce
1. Create the necessary artifacts and configuration for a custom authentication service.
2. Authenticate the user successfully using the authentication service.
3. Attempt to perform interactions within the Standard thread (open Profile, open Preferences, open Clipboard Viewer) - these execute successfully
4. Attempt to perform interactions that require a new Thread to be created on the clipboard, the error occurs
Resolution
In custom authentication activity, this issue occurs if you referring to OperatorID page, which is creating OperatorID page at STANDARD thread level.
Because of the changes made to findPage() API in ML7, requestor.getPage() returns page even if it exists at PRThread level, instead of creating new page at requestor level.
Authentication Activity – and the activities and rules that it invokes – must not attempt to reference properties from the “OperatorID” page.
No OperatorID page must exist on the clipboard (at any scope) during the execution of an Authentication Activity. In this case, a Data Transform is referencing properties on OperatorID during the Authentication Activity execution, resulting in the page being created on the Thread scope before completion of the Authentication process. This affects the ability to make the OperatorID page available to new Threads within an otherwise successfully created session, causing the NullPointerException in ApplicationSetup.
Published June 8, 2015 - Updated October 8, 2020
Have a question? Get answers now.
Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.