第62章 Apache CXF Message Processing フェーズ

インバウンドフェーズ

表62.1「インバウンドメッセージ処理フェーズ」 は、インバウンドインターセプターチェーンで利用可能なフェーズを一覧表示します。

表62.1 インバウンドメッセージ処理フェーズ

フェーズ説明

RECEIVE

バイナリー割り当ての MIME 境界の決定など、トランスポート固有の処理を実行します。

PRE_STREAM

トランスポートによって受信される生のデータストリームを処理します。

USER_STREAM

POST_STREAM

READ

要求が SOAP または XML メッセージであるかどうかを判別し、ビルドによって適切なインターセプターが追加されます。SOAP メッセージヘッダーもこのフェーズで処理されます。

PRE_PROTOCOL

プロトコルレベルの処理を実行します。これには、WS-* ヘッダーの処理や SOAP メッセージプロパティーの処理が含まれます。

USER_PROTOCOL

POST_PROTOCOL

UNMARSHAL

メッセージデータをアプリケーションレベルのコードで使用されるオブジェクトにアンマーシャリングします。

PRE_LOGICAL

アンマーシャリングされたメッセージデータを処理します。

USER_LOGICAL

POST_LOGICAL

PRE_INVOKE

INVOKE

メッセージをアプリケーションコードに渡します。サーバー側では、このフェーズでサービス実装が呼び出されます。クライアント側では、応答がアプリケーションに戻されます。

POST_INVOKE

アウトバウンドインターセプターチェーンを呼び出します。

アウトバウンドフェーズ

表62.2「インバウンドメッセージ処理フェーズ」 は、インバウンドインターセプターチェーンで利用可能なフェーズを一覧表示します。

表62.2 インバウンドメッセージ処理フェーズ

フェーズ説明

SETUP

チェーン内の後続のフェーズで必要な設定を実行します。

PRE_LOGICAL

アプリケーションレベルから渡されたアンマーシャリングデータで処理を実行します。

USER_LOGICAL

POST_LOGICAL

PREPARE_SEND

ワイヤリング上のメッセージを書き込むための接続を開きます。

PRE_STREAM

データストリームへのエントリーの準備に必要な処理を実行します。

PRE_PROTOCOL

プロトコル固有の情報の処理を開始します。

WRITE

プロトコルメッセージを書き込みます。

PRE_MARSHAL

メッセージをマーシャリングします。

MARSHAL

POST_MARSHAL

USER_PROTOCOL

プロトコルメッセージを処理します。

POST_PROTOCOL

USER_STREAM

バイトレベルのメッセージを処理します。

POST_STREAM

SEND

メッセージを送信し、トランスポートストリームを閉じます。

重要

アウトバウンドインターセプターチェーンには、名前の末尾に _ENDING が付いた終了フェーズのミラーセットがあります。終了フェーズは、データがワイヤリングに書き込まれる前に何らかの終了アクションが必要なインターセプターとして使用します。