Web サービス ベースのインバウンド メッセージング ゲートウェイを構成しています。着信 SOAP メッセージ (エンベロープとその中のすべて) をログに記録したいと思います。それを行う最善の方法は何ですか?
ロギング チャネル アダプタでワイヤ タップを使用してみましたが、実際の SOAP XML を取得するための適切な式の値がわかりません。受信ゲートウェイがペイロードを抽出しないように構成されている場合、SaajSoapMessage がペイロードとして表示され、それ以外の場合は DOMSource が表示されます。SaajSoapMessage を XML 文字列として取得する式はありますか?
SaajSoapMessage の toString() を表示するための構成は次のとおりです。
<int:channel id="request">
<int:interceptors>
<int:wire-tap channel="logger"/>
</int:interceptors>
</int:channel>
<int:logging-channel-adapter id="logger" expression="payload" level="DEBUG"/>
<int:channel id="reply"/>
<int-ws:inbound-gateway id="ws-inbound-gateway" request-channel="request" reply-channel="reply"
extract-payload="false"/>