Java.lang.NullPointerException after saving EEM credentials on the Spectrum OneClick Home Page

Document ID : KB000020821
Last Modified Date : 14/02/2018
Show Technical Document Details

Description:

In Spectrum 9.2.2 integrated with Embedded Entitlements Manager (EEM) 8.4 SP4 we get the following error after saving the EEM credentials on the OneClick Home Page:

 java.lang.NullPointerException com.aprisma.tomcat.authenticator.ExternalSSOAuth.authenticate(ExternalSSOAuth.java:201)
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:544)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927) org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:999)
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:565) org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:307)
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) java.lang.Thread.run(Thread.java:662)

Note: the full stack trace of the root cause is available in the Apache Tomcat/7.0.27 logs.

This error can occur, for example, when the integration is not done properly the first time and an attempt is made to disable the integration. To do that certain lines are commented out of the web.xml and context.xml files

When trying to re-integrate and save the configurations the necessary XML code will not be uncommented and this results in the java null pointer exception error when trying to access Spectrum OneClick.

Solution:

  1. To check the configuration of the EEM / Spectrum integration locate the configurations below in the web.xml and context.xml files:

    web.xml:
    <login-config>
    <auth-method> EXTERNALSSO </auth-method>
    <realm-name>SPECTRUM</realm-name>
    </login-config>
    <listener>
    <listener-class>com.aprisma.tomcat.authenticator.ExternalSSOAuth</listener-class>
    </listener>
    web.xml is located in $SPECROOT/tomcat/webapps/spectrum/WEB-INF 

    context.xml:
    <Valve className="com.aprisma.tomcat.authenticator.ExternalSSOAuth" changeSessionIdOnAuthentication="false" /></Context>

    context.xml is located in $SPECROOT/tomcat/conf/context.xml

  2. After saving the EEM configuration settings in Spectrum OneClick, review the above configuration settings and ensure these lines are not commented out.

  3. Remove any duplicate copies of above line in context.xml.

  4. Once done save both files and restart the Spectrum tomcat service.

Now you should be able to access Spectrum OneClick with EEM credentials.