Null Pointer Exception while Configuring the Identity Provider Proxy using OpenAM

1.2k views Asked by At

I am new to OpenAM and trying to learn by setting up an authentication solution involving a SAML2 service provider, SAML2 IdP Server, SAML2 IdP proxy.

I am able to set up a service provider, an identity provider and currently at the stage of setting up the IdP proxy "Step3: Configuring the Identity Provider Proxy (machineb)" in the guide SAMLv2 IDP Proxy Part 1. Setting up a simple Proxy scenario. I am able to complete till "Step 3: b" and when I try "Step 3: c", I am getting the Null Pointer Exception.

My set-up is slightly different and I can map it like this:

  • machinea.sp.com is http://sp1.sp.com:8080 : The machine that will function as a SAML2 Service Provider (SP)
  • machineb.idpproxy.com is http://openam.idam.com:8080/OpenAM-11.0.0 : The machine that will work as the SAML2 IdP Proxy
  • machinec.idp.com is http://idp1.idp.com:8080/OpenAM-11.0.0: The machine that will assume the role of a SAML2 IdP.

Each of these are set up as a Virtual box VMs on my Mac OS X.

My circle of trust is spcot instead of cot and realm is /sprealm.

The stack trace I get on the web page after submitting the changes is:

HTTP Status 500 -

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

javax.servlet.ServletException: AMSetupFilter.doFilter
    com.sun.identity.setup.AMSetupFilter.doFilter(AMSetupFilter.java:134)
root cause

org.apache.jasper.JasperException: java.lang.NullPointerException
    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:549)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:470)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
    org.forgerock.openam.validation.ResponseValidationFilter.doFilter(ResponseValidationFilter.java:44)
    com.sun.identity.setup.AMSetupFilter.doFilter(AMSetupFilter.java:98)
root cause

java.lang.NullPointerException
    com.sun.identity.federation.cli.CreateMetaDataTemplate.buildConfigTemplate(CreateMetaDataTemplate.java:573)
    com.sun.identity.federation.cli.CreateMetaDataTemplate.handleSAML2Request(CreateMetaDataTemplate.java:154)
    com.sun.identity.federation.cli.CreateMetaDataTemplate.handleRequest(CreateMetaDataTemplate.java:127)
    com.sun.identity.cli.SubCommand.execute(SubCommand.java:291)
    com.sun.identity.cli.CLIRequest.process(CLIRequest.java:212)
    com.sun.identity.cli.CLIRequest.process(CLIRequest.java:134)
    com.sun.identity.cli.CommandManager.serviceRequestQueue(CommandManager.java:573)
    com.sun.identity.cli.WebCLIHelper.processRequest(WebCLIHelper.java:151)
    com.sun.identity.cli.WebCLIHelper.getHTML(WebCLIHelper.java:92)
    org.apache.jsp.ssoadm_jsp._jspService(ssoadm_jsp.java:148)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
    org.forgerock.openam.validation.ResponseValidationFilter.doFilter(ResponseValidationFilter.java:44)
    com.sun.identity.setup.AMSetupFilter.doFilter(AMSetupFilter.java:98)
note The full stack trace of the root cause is available in the Apache Tomcat/7.0.26 logs.

Apache Tomcat/7.0.26

The stack-trace in catalina.out is:

org.apache.jasper.JasperException: java.lang.NullPointerException
at org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:549)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:470)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.forgerock.openam.validation.ResponseValidationFilter.doFilter(ResponseValidationFilter.java:44)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at com.sun.identity.setup.AMSetupFilter.doFilter(AMSetupFilter.java:98)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:987)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:579)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:307)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NullPointerException
    at com.sun.identity.federation.cli.CreateMetaDataTemplate.buildConfigTemplate(CreateMetaDataTemplate.java:573)
    at com.sun.identity.federation.cli.CreateMetaDataTemplate.handleSAML2Request(CreateMetaDataTemplate.java:154)
    at com.sun.identity.federation.cli.CreateMetaDataTemplate.handleRequest(CreateMetaDataTemplate.java:127)
    at com.sun.identity.cli.SubCommand.execute(SubCommand.java:291)
    at com.sun.identity.cli.CLIRequest.process(CLIRequest.java:212)
    at com.sun.identity.cli.CLIRequest.process(CLIRequest.java:134)
    at com.sun.identity.cli.CommandManager.serviceRequestQueue(CommandManager.java:573)
    at com.sun.identity.cli.WebCLIHelper.processRequest(WebCLIHelper.java:151)
    at com.sun.identity.cli.WebCLIHelper.getHTML(WebCLIHelper.java:92)
    at org.apache.jsp.ssoadm_jsp._jspService(ssoadm_jsp.java:148)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
    ... 25 more

Please help me with this problem. Thank you.

1

There are 1 answers

0
Nikki On

This is due to a bug in OpenAM 11.0.0.

Upgraded to 11.0.2 and it is working fine now.