1

我在使用 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

但这没有帮助。

4

1 回答 1

1

事实证明,这个类使用 Axis2 是有问题的。我删除了对 Axis2 的所有依赖项和引用,现在应用程序使用 Sun 的 saaj 版本,它可以正常工作。

于 2012-12-14T21:54:04.023 回答