Error : NoClassDefFoundError LogManager in Policy Sever SAML request
search cancel

Error : NoClassDefFoundError LogManager in Policy Sever SAML request

book

Article ID: 232182

calendar_today

Updated On:

Products

CA Single Sign On Federation (SiteMinder) SITEMINDER

Issue/Introduction

 

When running Policy Server, whenever it receives any SAML request,
Policy Server generates below error and journey fails :

  [24020/140648300672768][Mon Dec 20 2021 11:28:16][AssertionGenerator.java]
  [ERROR][sm-FedServer-00120]

    postProcess() throws exception: njava.lang.NoClassDefFoundError:
    org/apache/logging/log4j/LogManager

   at com.netegrity.smkeydatabase.api.XMLDocumentOpsFactory.<clinit>(XMLDocumentOpsFactory.java:44)
   at com.netegrity.SAML2Security.SAML2EncryptDecrypt.initialize(Unknown Source)
   at com.netegrity.SAML2Security.SAML2EncryptDecrypt.<clinit>(Unknown Source)
   at com.netegrity.assertiongenerator.saml2.ProtocolBase.signOrEncryptAssertion(Unknown Source)
   at com.netegrity.assertiongenerator.saml2.AuthnRequestProtocol.closeupProcess(Unknown Source)
   at com.netegrity.assertiongenerator.saml2.AssertionHandlerSAML20.postProcess(Unknown Source)
   at com.netegrity.assertiongenerator.AssertionGenerator.invoke(Unknown Source)
   at com.netegrity.policyserver.smapi.ActiveExpressionContext.invoke(ActiveExpressionContext.java:282)
  Caused by: java.lang.ClassNotFoundException: org.apache.logging.log4j.LogManager
   at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
   at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
   at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
   at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
   ... 8 more

  [24020/140648283887360][Mon Dec 20 2021 11:28:31][AssertionGenerator.java]
  [ERROR][sm-FedServer-00120]

    postProcess() throws exception: njava.lang.NoClassDefFoundError: Could
    not initialize class com.netegrity.SAML2Security.SAML2EncryptDecrypt

 

Environment

 

  Policy Server 12.8SP3 on RedHat 7;

 

Cause

 

The out of the box files has the following configuration :

 -Djava.class.path= [...] /opt/CA/siteminder/bin/thirdparty/log4j-api-2.10.0.jar:/opt/CA/siteminder/bin/thirdparty/log4j-core-2.10.0.jar:/opt/CA/siteminder/bin/thirdparty/log4j-slf4j-impl-2.10.0.jar

When updating the JVMOptions.txt log4j version, all log4j references
should be updated and be defined in this file.

 

Resolution

 

To resolve this issue, add references of log4j files in JVMOptions.txt
file and / or update the files name if needed.