[英]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.