私は使用しており、デバッグ目的で生の SOAP 要求/応答を出力JAX-RPC
する方法があるかどうかを知りたいと思っていました。JAX-RPC
JAX-RPC
使用しているのを見ましたが、送信前にメッセージを表示するためlog4j
にどのロガーをオンにする必要があるかわかりませんでした。DEBUG
リクエスト/レスポンスを操作するためにオーバーライドできるandメソッド(docHandler
)を持つを実装することをお勧めします(ハンドラーの使用方法に関するドキュメント)。handleRequest
handleResponse
Apache Axis を使用している場合は、次の log4J 構成を使用できます。
<appender name="wsAppender" class="org.apache.log4j.RollingFileAppender">
<param name="File" value="${catalina.base}/logs/MY_APP-ws.log" />
<param name="Append" value="true" />
<param name="MaxFileSize" value="20MB" />
<param name="MaxBackupIndex" value="10" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d %m%n" />
</layout>
<filter class="org.apache.log4j.varia.StringMatchFilter">
<param name="StringToMatch" value="MY_SPECIFIC_WSProcessRequest" />
<param name="AcceptOnMatch" value="true" />
</filter>
<filter class="org.apache.log4j.varia.DenyAllFilter"/>
</appender>
<logger name="org.apache.axis.transport.http.HTTPSender" additivity="false">
<level value="DEBUG" />
<appender-ref ref="wsAppender"/>
</logger>
ログに記録する XML 要求に一致する特定の値に変更MY_SPECIFIC_WSProcessRequest
します。