Support Article
Cannot open integration wizard generated workobjects
SA-40104
Summary
A completed Integration wizard item can not be opened. Using the Integration Wizard to import a wsdl, the import went successful and all the rules got generated as expected. However when attempting to open the completed wizard items via Designer Studio->Application->Tools->All Wizard, a corrupted screen is being presented.
Error Messages
No errors appears in PegaRULES.log. When tracing the Wizard Item opening process, the below error can be found in tracer:
<JavaStackTrace>java.lang.RuntimeException: caught exception while expanding property pxSourceReference on page pyWorkPage.pyOperations(1).pyXMLTreeviewContainer(1)
at com.pega.pegarules.data.internal.clipboard.DirectStreamContainer.expandToProperty(DirectStreamContainer.java:585)
at com.pega.pegarules.data.internal.clipboard.DirectStreamContainer.expandAllToProperties(DirectStreamContainer.java:410)
at com.pega.pegarules.data.internal.clipboard.ClipboardPageImpl.expandAll(ClipboardPageImpl.java:1158)
at com.pega.pegarules.data.internal.clipboard.ClipboardPageImpl.expandAll(ClipboardPageImpl.java:1152)
at com.pega.pegarules.data.internal.clipboard.ClipboardPageImpl.expandAll(ClipboardPageImpl.java:1148)
at com.pega.pegarules.data.internal.clipboard.ClipboardPageImpl.values(ClipboardPageImpl.java:5101)
at com.pega.pegarules.data.internal.clipboard.ClipboardPageImpl.values(ClipboardPageImpl.java:5125)
at com.pega.pegarules.data.internal.clipboard.XMLStream.writeXMLPage(XMLStream.java:690)
Steps to Reproduce
1) Use Pega 7.2.2 running on JBoss server.
2) Import a wsdl using the Integration Wizard.
3) Open the completed wizard item via Designer Studio->Application->Tools->All Wizard.
Root Cause
When analysing the BLOB of the completed wizard workitem, there appears to be failure with the deserialisation process of the BLOB. A ClassNotFoundException for the class org.apache.xerces.dom.DeferredElementNSImpl has been found. This class is not part of the Pega application.
During the deserialization process the system attempts to expand the pyTestEndpointURI property (Test button) and a ClassNotFoundException occurs as the server not able to locate the class of org.apache.xerces.dom.DeferredElementNSImpl.
The tracing has also shown that the serialisation stream setting has been applied as following:
<env name="database/storageversion" value="6"/>
The old v6 stream setting does deserializing everything of a workitem. This new default v7 stream setting is recommended as the system will only deserializing the data on demand which improve the performance. Since the Test button property is not required after the wizard has been completed, the issue can be overcome this by applying the below v7 stream setting in prconfig.xml:
<env name="database/storageversion" value="7"/>
Resolution
Applying the below v7 stream setting in prconfig.xml:
<env name="database/storageversion" value="7"/>
In addition to this, a JBoss environment has a xercesImpl-x.x.x.redhat-x.jar in %JBOSS_HOME%\modules\system\layers\base\org\apache\xerces\main directory. It is recommended to include this xercesImpl-x.x.x.redhat-x.jar in %JAVA_HOME%\jre\lib\endorsed directory. This will ensure your system utilise the same xercesImpl.jar during the serialization/deserialization operations.
Published August 26, 2017 - 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.