19.6. メッセージコンテンツのログ
概要
サービスとコンシューマーの間で送信されるメッセージの内容をログに記録できます。たとえば、サービスとコンシューマーの間で送信されている SOAP メッセージの内容をログに記録したい場合があります。
メッセージコンテンツロギングの設定
サービスとコンシューマーの間で送信されるメッセージをログに記録するには、またはその逆の場合は、次の手順を実行します。
エンドポイントへのロギング機能の追加
例19.10「エンドポイント設定へのロギングの追加」 に示すように、ログ機能をエンドポイントの設定に追加します。
例19.10 エンドポイント設定へのロギングの追加
<jaxws:endpoint ...> <jaxws:features> <bean class="org.apache.cxf.feature.LoggingFeature"/> </jaxws:features> </jaxws:endpoint>
例19.10「エンドポイント設定へのロギングの追加」 に示す XML の例 SOAP メッセージのロギングを有効にします。
ロギング機能をコンシューマーに追加する
例19.11「クライアント設定へのログの追加」 に示すように、クライアントの設定でログ機能を追加します。
例19.11 クライアント設定へのログの追加
<jaxws:client ...> <jaxws:features> <bean class="org.apache.cxf.feature.LoggingFeature"/> </jaxws:features> </jaxws:client>
例19.11「クライアント設定へのログの追加」 に示す XML の例 SOAP メッセージのロギングを有効にします。
INFO レベルのメッセージをログに記録するようにログを設定する
例19.12「ロギングレベルを INFO に設定する」 に示されるように、サービスに関連する logging.properties
ファイルが INFO
レベルのメッセージをログに記録するように設定されていることを確認します。
例19.12 ロギングレベルを INFO に設定する
.level= INFO java.util.logging.ConsoleHandler.level = INFO
SOAP メッセージのロギング
SOAP メッセージのロギングを確認するには、以下のように InstallDir/samples/wsdl_first
ディレクトリーにある wsdl_first サンプルアプリケーションを変更します。
例19.13「SOAP メッセージをログに記録するためのエンドポイント設定」 に記載されている
jaxws:features
要素を、wsdl_first サンプルディレクトリーにあるcxf.xml
設定ファイルに追加します。例19.13 SOAP メッセージをログに記録するためのエンドポイント設定
<jaxws:endpoint name="{http://apache.org/hello_world_soap_http}SoapPort" createdFromAPI="true"> <jaxws:properties> <entry key="schema-validation-enabled" value="true" /> </jaxws:properties> <jaxws:features> <bean class="org.apache.cxf.feature.LoggingFeature"/> </jaxws:features> </jaxws:endpoint>
-
この例では、
InstallDir/etc
ディレクトリーにあるデフォルトのlogging.properties
ファイルを使用します。このファイルのコピーを作成し、これにmylogging.properties
という名前を付けます。 mylogging.properties
ファイルで、以下のように.level
とjava.util.logging.ConsoleHandler.level
設定プロパティーを編集して、ロギングレベルをINFO
に変更します。.level= INFO java.util.logging.ConsoleHandler.level = INFO
以下のように
cxf.xml
ファイルとmylogging.properties
ファイルの両方で、新しい設定を使用してサーバーを起動します。プラットフォーム コマンド + Windows
start java -Djava.util.logging.config.file=%CXF_HOME%\etc\mylogging.properties demo.hw.server.Server
+
UNIX
java -Djava.util.logging.config.file=$CXF_HOME/etc/mylogging.properties demo.hw.server.Server &
+
次のコマンドを使用して、hello world クライアントを起動します。
プラットフォーム コマンド + Windows
java -Djava.util.logging.config.file=%CXF_HOME%\etc\mylogging.properties demo.hw.client.Client .\wsdl\hello_world.wsdl
+
UNIX
java -Djava.util.logging.config.file=$CXF_HOME/etc/mylogging.properties demo.hw.client.Client ./wsdl/hello_world.wsdl
+
SOAP メッセージはコンソールに記録されます。