NB-6.8 jdk-1.6.14 WSS4j-1.5.8 ,OpenSAML-2.3.0 我尝试修改 WSS4J-1.5.8 来操作 SAML 2.0,我无法将生成的断言插入到现有的 SOAP Header,代码如下:
Assertion assertion = createAssertion("some subject", "some issuer");
Document doc = docBuilder.parse("request.xml");
Element parent = doc.getDocumentElement();
Node node = parent.getElementsByTagName("soapenv:Header");
node.appendChild(assertion.getDOM());
错误:WRONG_DOCUMENT_ERR:节点在与创建它的文档不同的文档中使用。
但是在 wss4j 中,像 insertSecurityHeader 之类的一些函数也是这样做的(appendChild 或 inserBefore)。他们确实有效,为什么我的代码有问题?我想念什么。