java - SAML 编码 opensaml 和 java

标签 java saml-2.0 opensaml

我最近将 opensaml 依赖项从 2.5.3 升级到 2.6.1,将 xmlutil 从 1.3.0 到 1.4.1。 它编译没有任何错误,但在运行应用程序时出现以下异常:

java.lang.NullPointerException
org.opensaml.xml.io.AbstractXMLObjectMarshaller.marshall(AbstractXMLObjectMarshaller.java:84)

调用代码:

final MarshallerFactory marshallerFac = SAMLUtil.getMarshallerFactory();
     final org.opensaml.xml.io.Marshaller authnStatementMarshaller = marshallerFac.getMarshaller(assertion);

     Element assertionElement = null;

     try {
        assertionElement = authnStatementMarshaller.marshall(assertion);
        try {
           // Sign assertion and query signature
           Signer.signObject(signature);
        }
        catch (final SignatureException e) {
           LOGGER.error("Fout opgetreden bij ondertekenen Assertion", e);
        }
     }

最佳答案

我注意到,如果您不初始化(“ Bootstrap ”)SAML 配置,当您尝试构建 SAML 时,您会得到一个 NullPointerException(我可能会补充说,这毫无帮助)。

import org.opensaml.DefaultBootstrap;
import org.opensaml.xml.ConfigurationException;

try {
    DefaultBootstrap.bootstrap();
}
catch (ConfigurationException ce) {
}

上面只是一小段代码来说明我在说什么。您是否忘记引导配置?这必须在你做任何事情之前完成。

关于java - SAML 编码 opensaml 和 java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27707071/

相关文章:

java - 未检测到自定义 SpringVaadinServlet

java - 如何以编程方式在 Android 中反编译 dex 文件?

java - JAXB2 Mtom 附件被 BOM 损坏

java - 验证认证路径

opensaml - 如何使用 OpenSAML 设置 Signature DigestMethod 算法

java - 我在哪里放置java程序输入的图像?

spring-security - 配置 saml-sample (SP) 以与 Okta (IdP) 一起使用

spring - Spring-SAML 的 SSL 配置问题

java - 如何使用 openssl (.PCKS8) 文件签署 saml 2.0 断言

java - OpenSAML bootstrap() net me "InputStream cannot be null"