【问题标题】:Issue with Open JDK 11 and JAXPOpen JDK 11 和 JAXP 的问题
【发布时间】:2019-05-19 14:31:24
【问题描述】:

我正在尝试从 JDK 1.8 迁移到 Open JDK 11,当我尝试进行 Web 服务调用时,出现以下错误 -

org.w3c.dom.DOMException: WRONG_DOCUMENT_ERR: A node is used in a different document than the one that created it.
    at java.xml/com.sun.org.apache.xerces.internal.dom.ParentNode.internalInsertBefore(ParentNode.java:356)
    at java.xml/com.sun.org.apache.xerces.internal.dom.ParentNode.insertBefore(ParentNode.java:287)
    at java.xml/com.sun.org.apache.xerces.internal.dom.NodeImpl.appendChild(NodeImpl.java:237)
    at org.apache.wss4j.dom.util.WSSecurityUtil.prependChildElement(WSSecurityUtil.java:314)
    at org.apache.wss4j.dom.util.WSSecurityUtil.findWsseSecurityHeaderBlock(WSSecurityUtil.java:435)
    at org.apache.wss4j.dom.message.WSSecHeader.insertSecurityHeader(WSSecHeader.java:165)
    at org.apache.wss4j.dom.handler.WSHandler.doSenderAction(WSHandler.java:117)
    at org.springframework.ws.soap.security.wss4j2.Wss4jHandler.doSenderAction(Wss4jHandler.java:63)
    at org.springframework.ws.soap.security.wss4j2.Wss4jSecurityInterceptor.secureMessage(Wss4jSecurityInterceptor.java:574)
    at org.springframework.ws.soap.security.AbstractWsSecurityInterceptor.handleRequest(AbstractWsSecurityInterceptor.java:210)
    at org.springframework.ws.client.core.WebServiceTemplate.doSendAndReceive(WebServiceTemplate.java:597)
    at org.springframework.ws.client.core.WebServiceTemplate.sendAndReceive(WebServiceTemplate.java:555)
    at org.springframework.ws.client.core.WebServiceTemplate.marshalSendAndReceive(WebServiceTemplate.java:390)
    at org.springframework.ws.client.core.WebServiceTemplate.marshalSendAndReceive(WebServiceTemplate.java:383)
    at org.springframework.ws.client.core.WebServiceTemplate.marshalSendAndReceive(WebServiceTemplate.java:373)
    at com.aa.apt.cbs.invent.webservice.service.MishandledBagsServiceClient.getForwardedBags(MishandledBagsServiceClient.java:76)
    at com.aa.apt.cbs.invent.quartz.job.MishandledBagProcessorHelper.callMishandleForwardBagService(MishandledBagProcessorHelper.java:46)
    at com.aa.apt.cbs.invent.quartz.job.MishandledBagProcessorJob.execute(MishandledBagProcessorJob.java:24)
    at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
    at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573)

【问题讨论】:

  • 检查MishandledBagsServiceClient.getForwardedBags,确保您没有将节点添加到不是这些节点所有者的文档中。 (检查this question)。不确定这个问题是否会出现在 JDK1.8>OpenJDK11 迁移中,这看起来很奇怪
  • 有什么解决办法吗?我在保护 SOAP 消息时遇到了同样的错误。

标签: java


【解决方案1】:

我在 jdk 11 和 jax-ws webservice 调用中遇到了完全相同的问题

可能的解决方案:

Too high version of saaj-impl (1.4.x or higher) - 帮我

<dependency>
    <groupId>com.sun.xml.messaging.saaj</groupId>
    <artifactId>saaj-impl</artifactId>
    <version>1.3.28</version>
</dependency>

wss4j-ws-security-dom library in version 2.2.0 的错误 - 对我的情况没有影响

【讨论】:

    猜你喜欢
    • 2011-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多