我在使用 Spring 配置(不是 Spring-WS)作为 Web 服务公开的无状态 bean 中使用 JAX-WS。我添加了一个 SOAP 处理程序,并且在处理程序中,当我尝试在 SOAPMessageContext 上获取消息()时,我得到一个尝试插入一个不允许的节点。
at org.apache.axiom.om.impl.dom.ParentNode.insertBefore(ParentNode.java:
224)
at org.apache.axiom.om.impl.dom.NodeImpl.appendChild(NodeImpl.java:240)
at org.apache.axis2.saaj.SOAPPartImpl.appendChild(SOAPPartImpl.java:989)
at com.sun.xml.bind.marshaller.SAX2DOMEx.startElement(SAX2DOMEx.java:198
)
at com.sun.xml.ws.message.SAX2DOMWriterEx.writeStartElement(SAX2DOMWrite
rEx.java:97)
at com.sun.xml.ws.message.AbstractMessageImpl.writeTo(AbstractMessageImp
l.java:144)
at com.sun.xml.ws.message.AbstractMessageImpl.readAsSOAPMessage(Abstract
MessageImpl.java:226)
at com.sun.xml.ws.handler.SOAPMessageContextImpl.getMessage(SOAPMessageC
ontextImpl.java:87)
我将这些依赖项添加到我的 Maven 配置中: JAX-WS: Getting DOMException - HIERARCHY_REQUEST_ERR 在尝试添加安全标头时
我读到 WebLogic saaj 库已经过时了。我尝试将其添加到我的启动环境脚本中:
-Djavax.xml.soap.MessageFactory=com.sun.xml.internal.messaging.saaj.soap.ver1_1.SOAPMessageFactory1_1Impl
并尝试过:
-Djavax.xml.soap.MessageFactory=org.springframework.ws.soap.axiom.AxiomSoapMessageFactory
但这没有帮助。