Identity IQ Version: 8.2
Hi all,
I am building a QuickLink launched Workflow that displays a request form to the user, then takes the contents and builds a plan, approval, and manual action.
I would like to display the green “Request Submitted” session message to the user (ideally with the ID), but am encountering an issue with the HTTP Session when the form is submitted
ERROR http-nio-8080-exec-4 sailpoint.api.Workflower:4580 - An unexpected error occurred: No serializer registered for class class org.apache.catalina.session.StandardSessionFacade
I understand that this error occurs when a work item is created and the system attempts to serialize HTTP Session. My workflow is set to transient, however upon submission of the form it progresses to the approval step where this error manifests.
Is there any way I can close or delete the session variable before the workflow advances to circumvent this error? Or is there a way I should be splitting my workflow between its transient half and non-transient half? Or is there simply a better way I am unaware of to display the status messages to end users?
Any help is appreciated. Thanks a bunch.
Below is the snippet of QuickLink XML I am using to pass in the session:
<entry key="httpSession">
<value>
<Script>
<Source>
import javax.faces.context.FacesContext;
import javax.servlet.http.HttpSession;
FacesContext fc = FacesContext.getCurrentInstance();
HttpSession session = (HttpSession) fc.getExternalContext().getSession(true);
return session;
</Source>
</Script>
</value>
</entry>
And the Workflow step in which I use the session for the message display:
<Step icon="Default" name="UI Message" posX="255" posY="140">
<Script>
<Source>
import javax.faces.application.FacesMessage;
System.out.println("Session is : " + httpSession);
FacesMessage myMessage = new FacesMessage(FacesMessage.SEVERITY_INFO, "Request submitted successfully: ",null);
List myMessages = new ArrayList();
myMessages.add(myMessage);
httpSession.setAttribute("sailpoint.web.PageCodeBase.sessionMessages", myMessages)
</Source>
</Script>
<Transition to="Create Plan"/>
</Step>