1

Spring構成(Spring-WSではない)を使用してWebサービスとして公開されているステートレスBeanでJAX-WSを使用しています。SOAPハンドラーを追加しました。ハンドラーで、SOAPMessageContextでgetMessage()を実行しようとすると、次のようになります。許可されていないノードを挿入しようとしました。

        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:セキュリティヘッダーを追加しようとするとDOMException-HIERARCHY_REQUEST_ERRを取得します

WebLogicsaajライブラリが古くなっていることを読みました。これをスタートアップ環境のスクリプトに追加してみました。

-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 に答える