Question

7.1.9 to 8.1.3 upgrade, class loader issues?

After upgrading to 8.1 from 7.1.9, seeing errors when attempting to invoke SOAP services:

com.ibm.xml.xlxp2.api.wssec.WSSXMLInputFactory incompatible with com.ctc.wstx.stax.WstxInputFactory. This is occurring when its trying to build the request during the invoke activities, apparently failing when calling pzAddCustomHeadersToSoapEnvelope

In the older SMA there was a place to do java class search, but I don't see that now in the 8.1 admin portal. That may be useful in figuring out what classes are being loaded (and from where.. filesystem/db).

***Edited by Moderator: Pallavi to update platform capability tags***

Comments

Keep up to date on this post and subscribe to comments

March 26, 2019 - 3:11am

Please confirm if you have deployed EAR file of 8.1.3 after upgrade.

 

If not then please deploy the ear file, restart the server with deleting extract marker file and try.

March 26, 2019 - 2:29pm

Yes, that was performed... we are able to login to the system, but we get those errors when attempting to call SOAP connectors. If the EAR wasnt deployed we wouldnt be able to do that

March 27, 2019 - 12:19am

It appears to be some type of conflict between WAS jars and pegas... class loader issues are a continual annoyance. We continue to see internal compiler errors when referencing   com.ctc.wstx.stax.WstxInputFactory. The jar that provides this implementation is present in the pr_engineclasses table but any time we reference this class (or an OOTB rule like InvokeAxis2 does) we see internal compiler errors with very little useful stack trace. NullPointerException

 

Test compilation failed: ----------

1. ERROR in /Rule_Obj_Activity_Rule_Connect_SOAP_InvokeAxis2_Action_20190326T205202_080_GMT.java (at line 0)

package com.pegarules.generated.testgen;

^

Internal compiler error: java.lang.NullPointerException at java.util.Hashtable.put(Hashtable.java:505)

----------

java.lang.NullPointerException

at java.util.Hashtable.put(Hashtable.java:505)

at com.pega.jsr199.Jsr199ClasspathJDBC.getByteContent(Jsr199ClasspathJDBC.java:146)

at com.pega.jsr199.Jsr199FileManager.getClassBytes(Jsr199FileManager.java:711)

August 8, 2019 - 7:02am
Response to BenjaminC

Hi,

have you been able to resolve this issue? We are facing the identical issue after moving from Pega 7.2.2 to Pega 8.2.1

August 8, 2019 - 1:25pm

Try this local change:

In Step 13 of the InvokeAxis2 activity this is an Available activity.

Replace the below lines of code,

//HFix-45582
       com.ctc.wstx.stax.WstxInputFactory  wInputFactory =  (com.ctc.wstx.stax.WstxInputFactory)inputFactory;
       wInputFactory.getConfig().setConfigFlag(1);
       //HFix-45582
      javax.xml.stream.XMLStreamReader streamReader = 
        wInputFactory.createXMLStreamReader(stringReader);

with,

//HFix-45582
      // com.ctc.wstx.stax.WstxInputFactory  wInputFactory =  (com.ctc.wstx.stax.WstxInputFactory)inputFactory;
      // wInputFactory.getConfig().setConfigFlag(1);
       //HFix-45582
      javax.xml.stream.XMLStreamReader streamReader = 
        inputFactory.createXMLStreamReader(stringReader);