Support Article
Unable to serialize properties during passivation
SA-56731
Summary
Unable to serialize properties and PageCannotBeSerializedForPassivationException occurs during passivation.
Error Messages
One or more properties could not be serialized during passivation and have therefore been lost. They will not be available on activation. Please ensure that all property data is Serializable
com.pega.pegarules.session.external.mgmt.PageCannotBeSerializedForPassivationException: Unable to passivate page 'XXXXX' on thread '<XXX>' in requestor 'XXXXXXXXXXXXXXXXXXXXXXXX'. The following items were not serializable: [Property not serializable: "Declare_pyDisplay.pyDisplay(XXX).pyUIActive(1).pyParameters.soapHdr" Class: "com.pega.apache.axiom.soap.impl.llom.soap11.SOAP11HeaderImpl", Property not serializable:
Steps to Reproduce
Unknown
Root Cause
In the Connect-SOAP implementation, ParameterPage is used with the 'pyServiceClient' and 'soapHdr' parameters to pass com.pega.apache.axis2.client.ServiceClient and com.pega.apache.axiom.soap.impl.llom.soap11.SOAP11HeaderImpl objects. These objects are passed from the Rule-Connect-SOAP.InvokeAxis2 activity to the Rule-Connect-SOAP.Invoke activity to perform the ServiceClient cleanup in the Invoke activity. After the cleanup, the parameters are not removed from the ParameterPage. This resluted in the requestor serialization error.
Resolution
Perform the following local-change:
In the Rule-Connect-SOAP.Invoke activity, Step 8, add the following statements at the end of the final block. tools.getParameterPage().remove("pyServiceClient");
tools.getParameterPage().remove("soapHdr");
tools.getParameterPage().remove("activityParamPage");
Alternatively, remove the parameters from the ParameterPage.
Published July 23, 2018 - 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.