handlersサンプルを試す
はじめに
本連載はCeltix 1.0に用意されているサンプルデモのREADME.txtファイルを日本語訳したものです。README.txtファイルにはWindowsとUNIXにおける作業手順が記載されています。
今回はサンプル4「handlers」デモについて解説します。
連載ではWindowsについてのみ確認を行い、足りない手順についての内容を追加しています。UNIXを利用する場合には、Windowsの手順を参照してください。
サンプル4 handlersのデモ
「handlers」は、JAXWSハンドラをどのように利用するかを解説するデモです。サーバでは、入出力のメッセージをコンソールに表示するためにSOAPプロトコルハンドラを使っています。
サーバのコードは、service implementationクラスにある@HandlerChainアノテーションを利用してハンドラを登録しています。すべてのSOAPメッセージを stdoutへ記録するSOAPHandlerを使って、LoggingHandlerのデモを行います。
Service implementationクラスのアノテーションで、サーバがLoggingHandlerを利用するように指定してあります。このデモでは celtix-server.xmlコンフィグレーションファイルで設定された情報を使って、コードを変更せずにどのようにサーバの動きを変えられるかに ついて解説しています。
サーバプロセスがコンフィグレーションファイルを使用すると、LoggingHandlerはFileLoggingHandlerに置き換わりま す。FileLoggingHandlerはメッセージの内容すべてではなく、シンプルな情報だけをコンソールとdemo.logファイルへ出力します。
クライアント側は、出力のパラメータをチェックし、ある環境において呼び出し待ち時間を短縮するロジカルハンドラを持っています。このハンドラはプ ログラム上ではなく、celtix-client.xmlでのコンフィグレーションとして指定されます。コンフィグレーションを適用しないでクライアント を起動した場合、ハンドラは動作しません。
必要条件
celtix.jarがCLASSPATHに登録されていて、JDKとantのbinディレクトリがPATHに登録されているのであれば、samplesディレクトリのREADMEにある環境変数の設定スクリプトを起動する必要はありません。
環境変数が正しく設定されていなかったり、デモをビルドする際ににwsdl2java、javacあるいはjavaコマンドを利用する場合は、環境変数の設定スクリプトを起動する必要があります。