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 サンプルアプリケーションを変更します。

  1. 例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>
  2. この例では、InstallDir/etc ディレクトリーにあるデフォルトの logging.properties ファイルを使用します。このファイルのコピーを作成し、これに mylogging.properties という名前を付けます。
  3. mylogging.properties ファイルで、以下のように java. leveljava.util.logging.ConsoleHandler.level 設定プロパティーを編集して、ロギングレベルを INFO に変更します。

    .level= INFO
    java.util.logging.ConsoleHandler.level = INFO
  4. 以下のように 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 &

    +

  5. 次のコマンドを使用して、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 メッセージはコンソールに記録されます。