繁体   English   中英

SAML封送opensaml和Java

[英]SAML marshalling opensaml and java

我最近将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);
        }
     }

我注意到,如果您不初始化(“引导程序”)SAML配置,则在尝试构造SAML时会收到NullPointerException(我可能会无益地添加)。

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

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

上面只是一段代码,用以说明我在说什么。 您是否忘记了引导配置? 在您执行任何操作之前,必须先完成此操作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM