使用OpenAM配置身份提供程序代理时出现空指针异常

时间:2014-11-12 23:48:32

标签: authentication virtual-machine virtualbox openam federation

我是OpenAM的新手,并尝试通过设置涉及SAML2服务提供商,SAML2 IdP服务器,SAML2 IdP代理的身份验证解决方案来学习。

我能够在指南SAMLv2 IDP Proxy Part 1. Setting up a simple Proxy scenario中设置服务提供商,身份提供商,目前正处于设置IdP代理“步骤3:配置身份提供商代理(machineb)”的阶段。 我能够完成“第3步:b”,当我尝试“第3步:c”时,我得到了空指针异常。

我的设置略有不同,我可以像这样映射:

  • machinea.sp.comhttp://sp1.sp.com:8080:将充当SAML2服务提供商(SP)的计算机
  • machineb.idpproxy.comhttp://openam.idam.com:8080/OpenAM-11.0.0:将用作SAML2 IdP代理的计算机
  • machinec.idp.comhttp://idp1.idp.com:8080/OpenAM-11.0.0:将承担SAML2 IdP角色的计算机。

每个都在我的Mac OS X上设置为虚拟盒虚拟机。

我的信任圈是spcot而不是cot,而领域是/sprealm

提交更改后我在网页上看到的堆栈跟踪是:

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

catalina.out中的堆栈跟踪是:

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

请帮我解决这个问题。谢谢。

1 个答案:

答案 0 :(得分:0)

这是由于OpenAM 11.0.0中的bug

升级到11.0.2,现在工作正常。