注册一个解组器
Register an unmarshaller
我正在尝试将对 org.opensaml.saml.saml2.core.Response
的响应解组到 org.opensaml.xml.XMLObject
。为此,我将响应设置为字符串,然后使用文档生成器将其解析为 org.w3c.dom.Document
。
现在,我想将文档的元素解组为 XMLObject。我的代码看起来像这样:
Element element = document.getDocumentElement();
UnmarshallerFactory unFactory = Configuration.getUnmarshallerFactory();
XMLObject xmlObject = unFactory.getUnmarshaller(element).unmarshall(element);
我在解组器工厂中遇到空指针异常,因为该元素的解组器不存在。当我调试时,对于 unFactory.unmarshaller,我看到的是 {}。
如何为元素注册解组器?
谢谢!
没关系。
我正在采用不同的方法并考虑构建文档和元素...等等。这种方法背后的想法是将元素添加到消息上下文并通过 soap 客户端发送。
我最终创建了一个 ArtifactResponse
对象并将其添加到 MessageContext<SAMLObject>
我正在尝试将对 org.opensaml.saml.saml2.core.Response
的响应解组到 org.opensaml.xml.XMLObject
。为此,我将响应设置为字符串,然后使用文档生成器将其解析为 org.w3c.dom.Document
。
现在,我想将文档的元素解组为 XMLObject。我的代码看起来像这样:
Element element = document.getDocumentElement();
UnmarshallerFactory unFactory = Configuration.getUnmarshallerFactory();
XMLObject xmlObject = unFactory.getUnmarshaller(element).unmarshall(element);
我在解组器工厂中遇到空指针异常,因为该元素的解组器不存在。当我调试时,对于 unFactory.unmarshaller,我看到的是 {}。
如何为元素注册解组器?
谢谢!
没关系。
我正在采用不同的方法并考虑构建文档和元素...等等。这种方法背后的想法是将元素添加到消息上下文并通过 soap 客户端发送。
我最终创建了一个 ArtifactResponse
对象并将其添加到 MessageContext<SAMLObject>