1

Spring WS 2 Webサービスを(パラメータとしてJDOM2要素を使用して)Weblogic 10.3.5サーバーにデプロイした後、ルート要素の子要素(エンドポイント関数のメインパラメータ)にTEXTコンテンツが含まれることはありません。

例:

XMLのリクエスト(送信時)

<root foo="bar">
  <doo>dat</doo>
</root>

JDOM2要素構造を要求します(関数に表示されます)

<root foo="bar">
  <doo/>
</root>

これは、junitおよびglassfishサーバーで正常に機能します。weblogicの特別な構成はまだありません。

一部のweblogicライブラリがJDOM2の実装をオーバーライドする可能性があると思いますが、同様の経験があれば、いくつかの入力をいただければ幸いです。

アップデート

jdom2実装にデバッグしているときに、Textが「weblogic.xml.saaj.TextImpl」としてDOMBuilderに入っていることがわかりました。JDomはテキストを抽出できません。

たぶん誰かがweblogicライブラリがアプリケーションを台無しにするのを防ぐ方法のヒントを持っています...?

(コメントもありがとう)

4

1 に答える 1

2

SAAJメッセージファクトリをSunの実装に設定することで、問題を解決しました。

Maven依存関係の使用:

<dependency>
  <groupId>com.sun.xml.messaging.saaj</groupId>
  <artifactId>saaj-impl</artifactId>
  <version>1.3.3</version><!-- or higher -->
</dependency>

Spring構成への追加:

<bean id="messageFactory" class="org.springframework.ws.soap.saaj.SaajSoapMessageFactory">
  <property name="messageFactory">
    <bean class="com.sun.xml.messaging.saaj.soap.ver1_1.SOAPMessageFactory1_1_Impl"/>
  </property>
</bean>
于 2012-10-02T10:50:36.057 に答える