CA Single Sign On Secure Proxy Server (SiteMinder)CA Single Sign On SOA Security Manager (SiteMinder)CA Single Sign-On
Issue/Introduction
We have upgraded from R12.7 to R12.8 and right after the upgrade we are getting errors regarding our custom authentication scheme. The errors are all making reference to log4j component:
July 18, 2018 12:35:36.0 PM[517380410:E] Exception Stack Trace: java.lang.NoClassDefFoundError: org/apache/log4j/Logger
We still have some servers in R12.7, and we noticed there is a log4j.jar file present while in the upgraded servers there is not. Why is this file missing? How can we solve this?
Environment
Policy Server R12.8
Resolution
The error occurs because your custom code is using the log4j component included in the Policy Server, and as R12.8 Policy Server includes a newer log4j version which changes the jar & properties file names and structure, it cannot find the classes needed by the code.
In R12.7: \CA\SiteMinder\bin\jars\log4j.jar \CA\SiteMinder\bin\thirdparty\log4j-1.2.17.jar \CA\SiteMinder\config\properties\log4j.properties \CA\SiteMinder\bin\jars\UpgradeReadinessCheck_log4j.properties
In R12.8: \CA\SiteMinder\config\properties\log4j.properties.new \CA\SiteMinder\bin\jars\log4j-api.jar \CA\SiteMinder\bin\jars\log4j-core.jar \CA\SiteMinder\bin\jars\log4j-slf4j-impl.jar \CA\SiteMinder\bin\thirdparty\log4j-api-2.10.0.jar \CA\SiteMinder\bin\thirdparty\log4j-core-2.10.0.jar \CA\SiteMinder\bin\thirdparty\log4j-slf4j-impl-2.10.0.jar \CA\SiteMinder\config\properties\log4j2.properties
In order to solve this you need to modify your custom code to use the new jar files instead.