Skip to main content

This content has been archived and is no longer being updated. Links may not function; however, this content may be relevant to outdated versions of the product.

Support Article

PRAppLoader issue for IBM JVM and javax.xml.soap.MessageFactory

SA-45828

Summary



A new application containing Web Services is added parallel to the Pega application on a WebSphere server.
The new application contains a Web Service client which is configured with Web Services Security similar to the Pega application, that configured clients on other WebSphere servers for longer duration.

However, ClassCastExceptions occur in the JVM code during the the Web Services call.

When the prweb.war module is loaded during server startup, the javax.xml.soap.MessageFactory system property changes from com.ibm.ws.webservices.engine.soap.MessageFactoryImpl to com.sun.xml.internal.messaging.saaj.soap.ver1_1.SOAPMessageFactory1_1Impl.

That is, SOAPMessageFactory1_1Impl creates SOAP messages which are incompatible with the type that IBM runtime requires.



Error Messages



...
PRBootstrapIm Z com.pega.pegarules.internal.bootstrap.phase2.PRBootstrapImpl PegaRULES classes will be loaded from the database
SystemOut O javax.xml.soap.MessageFactory com.sun.xml.internal.messaging.saaj.soap.ver1_1.SOAPMessageFactory1_1Impl
SystemOut O java.lang.Exception: javax.xml.soap.MessageFactory=com.sun.xml.internal.messaging.saaj.soap.ver1_1.SOAPMessageFactory1_1Impl
SystemOut O at java.util.Properties.traceMsgFactory(Properties.java:921)



Steps to Reproduce

  1. Create a SOAP integration.
  2. Configure the Web Services Security profile.
  3. Create a test activity that uses Connect SOAP rule.
  4. Save the activity and run it. 3. ClassCastException occurs.


Root Cause



A defect in Pegasystems’ code or rules.
PRAppLoader used hardcoded class mappings.



Resolution

  1. Apply HFix-37513.
  2. Redeploy EAR control feature using the com.pega.pegarules.bootstrap.ENABLE_IBM_SOAP_OVERRIDES system property. If true, this is working correctly. If false, delegate to the JVM or META-INF or the services directory for the SOAP implementation.

 

Published December 29, 2018 - Updated October 8, 2020

Was this useful?

0% found this useful

Have a question? Get answers now.

Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.

Did you find this content helpful?

Want to help us improve this content?

We'd prefer it if you saw us at our best.

Pega Community has detected you are using a browser which may prevent you from experiencing the site as intended. To improve your experience, please update your browser.

Close Deprecation Notice
Contact us