Class loader exception from JDBC application provisioning rule after identityiq version upgrade from 8.3 to 8.4p1

Hi All,

We have recently upgraded our pre-production/test environment to identityiq 8.4p1. the upgrade was successfully and no errors occurred. However after upgrade one of our existing integration started failing with below class loader exception during JDBC connector provisioning rule “Shared Investigator Platform Provisioning Rule”.

The application script threw an exception: java.lang.ClassCastException: class org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver cannot be cast to class org.apache.axis2.engine.MessageReceiver (org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver is in unnamed module of loader sailpoint.connector.ConnectorClassLoader @2d6a1c80; org.apache.axis2.engine.MessageReceiver is in unnamed module of loader org.apache.catalina.loader.ParallelWebappClassLoader @604b1e1d) BSF info: Shared Investigator Platform Provisioning Rule at line: 0 column: columnNo

This seems an Axis2 jar related issue however we have compared all Axis2 jar between identityiq 8.3 and 8.4p1 they both are exact same version. Please suggest me a direction towards solution.

Thanks in advance.

Regards,
Mahendra

Can anybody please suggest me on this ? i am still looking for solution for the above

Hi @kanwantm,

may I kindly suggest so have a look into the following documentation:

This may help to understand the class-loading and also to remediate you issue.

Best regards,
Daniel

1 Like

Hi @daniel_neubert the following article says to enable below configuration. could you please help me understand where i need to enable these either in system configuration or application specific xml??

you can delegate the classloading for the specific libraries, jar, or classes to the system-classloader by using the following configuration:

<entry key="load-by-sysclassloader">
   <value>
       <List>
           <String>velocity.jar</String>
           <String>org.apache.velocity</String> <!-- package to delegate, Connector Classloader will delegate all the classes under this package to sysclassloader to load –->

           <String>org.apache.bsf.engines.jacl.BSFCommand.class</String> <!-- Class to delegate, Connector Classloader will delegate the specified classes to sysclassloader to load -->
      </List>
   </value>
</entry>

@kanwantm
This has to be done at each application xml

1 Like

thanks @daniel_neubert and @iamksatish . this was really helpful and i am able to make further progress on this.

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.