ハンドラは、Web サービスメッセージの前処理と後処理を行うフィルタ機能を提供する、Java クラスです。Web サービスメッセージの処理に割り込み、要求または応答を処理します。ハンドラは、クライアント側またはサーバー側、あるいはその両方で使用することができます。ハンドラを使用してサービス呼び出しに機能を追加することができ、これは、中核メッセージに追加の機能を重ねる優れた手段になります。ハンドラは、セキュリティーサービスやビジネス処理、エラー処理を導入することを可能にするため、有用です。また、ハンドラで、クライアントまたはサーバーコードを変更することなく、サービスの利用側と実装側の両方でコンテンツの作成方法の選択を管理することもできます。
ハンドラの一般的な用途には、次のものがあります。
ハンドラには、メッセージハンドラと論理ハンドラの 2 種類があります。この 2 つの違いを、次に示します。
メッセージハンドラ | 論理ハンドラ |
---|---|
SOAP over HTTP または XML over HTTP。 | プロトコルを認識せず、メッセージのプロトコル固有部分 (ヘッダなど) を変更できません。 |
SOAP over HTTP を使用する場合、SOAP 本体の内容がペイロードを形成します。XML over HTTP を使用する場合は、メッセージの主要部分の XML コンテンツがペイロードになります。 | メッセージのペイロードおよびコンテキストのみを処理します。 |