2012-03-14 18 views
0

私のプロジェクトでは、Spring Web Services(2.0.4.RELEASE)を使用してWebサービスクライアントを作成しました。Spring Webserviceクライアント:SOAP障害を処理できません

webServiceTemplateは私の春の設定で定義されています。私はサービス(wsClient.marshalSendAndReceive(...))を呼び出し、それが戻ったとき

<bean id="marshaller" class="org.springframework.oxm.jaxb.Jaxb2Marshaller"> 
<bean id="wsClient" class="org.springframework.ws.client.core.WebServiceTemplate"> 
    <property name="marshaller" ref="marshaller" /> 
    <property name="unmarshaller" ref="marshaller" /> 
</bean> 

は、SOAPは、Webサービスのクライアントがそれを認識しない障害。 マーシャルしようとしましたが、ValidationExceptionがスローされます。

私はSpring Webサービスのソースコードを見ました。 WebServiceTemplateクラスには、メソッドprotected boolean hasFault(WebServiceConnection connection, WebServiceMessage response)が存在します。しかし、このメソッドは常にfalseを返します。

私はすでにこの質問をチェックする:Java Spring Web Service Client Fault Handling

サービスは、HTTPステータスコード500で応答がだからそれが問題ではありません送信します。

誰もこの問題を解決する方法を知っていますか?

ありがとうございました!

EDIT:アプリケーションは、WebLogic 10.3.5

+0

これは奇妙です。私はhasFaultメソッドをデバッグして、何が起こっているかを見ていきます。 – jddsantaella

答えて

0

に問題がSpring Webサービスではなかった実行されます。無効な応答を返すのはWebサービスでした。 : - /私はこの問題から学んだ何

  • あるsoapUIはSOAPトラフィックを記録するための偉大なHTTPモニターをしている:あなたの要求と応答があなたのスキーマに従って有効である場合は、必ず最初にチェックhttp://www.soapui.org/SOAP-Recording/recording-soap-trafic.html
  • 。 (これは、soapUI HTTP Monitorでワンクリックで行うことができます)