0
我试图添加类似于以下为SAML XML元素:的AttributeValue,如何在OpenSAML中将简单的XML元素添加为AttributeValue?
<ABC>cde</ABC>
使用DocumentBuilderFactory可以获取XML元素,我用下面的代码获取XSAny类型的对象。
XSAnyBuilder anyBuilder = (XSAnyBuilder)Configuration.getBuilderFactory().getBuilder(XSAny.TYPE_NAME);
XSAny any = anyBuilder.buildObject(AttributeValue.DEFAULT_ELEMENT_NAME, XSAny.TYPE_NAME);
XSAny xo = anyBuilder.buildObject(xmlElement);
但我发现了以下从第3行错误,
Caused by: java.lang.IllegalArgumentException: local part cannot be "null" when creating a QName
at javax.xml.namespace.QName.<init>(QName.java:246)
at javax.xml.namespace.QName.<init>(QName.java:190)
at org.opensaml.xml.util.XMLHelper.constructQName(XMLHelper.java:433)
at org.opensaml.xml.AbstractXMLObject.<init>(AbstractXMLObject.java:82)
at org.opensaml.xml.validation.AbstractValidatingXMLObject.<init>(AbstractValidatingXMLObject.java:48)
at org.opensaml.xml.schema.impl.XSAnyImpl.<init>(XSAnyImpl.java:52)
at org.opensaml.xml.schema.impl.XSAnyBuilder.buildObject(XSAnyBuilder.java:29)
at org.opensaml.xml.schema.impl.XSAnyBuilder.buildObject(XSAnyBuilder.java:25)
at org.opensaml.xml.AbstractXMLObjectBuilder.buildObject(AbstractXMLObjectBuilder.java:51)
at org.opensaml.xml.AbstractXMLObjectBuilder.buildObject(AbstractXMLObjectBuilder.java:66)
上任何想法?