28.15.2 ServerRequestInterceptorのメソッド
-
CORBA::Object_ptr _target,
const char* operation,
const IOP::ServiceContextList& service_contexts,
CORBA::MarshalInBuffer& payload,
VISClosure& closure);
リクエストがアンマーシャルされる前に,ORBがこのメソッドを呼び出します。このインタセプタで例外が発生した場合,リクエストはすぐに終了させられます。このメソッドは,Servant Locatorの呼び出し前に呼び出されるため,このメソッドの実行中は,サーバントを利用できないことがあります。
-
_target
サーバにバインドされているクライアントオブジェクト
-
operation
呼び出すオペレーションの名前を識別します。
-
service_contexts
ORBが割り当てたサービスをすべて識別します。このサービスはOMGに規定されているものです。
-
payload
マーシャリング済みバッファ
-
closure
あるインタセプタメソッドが保存したデータを格納する場合があります。このデータは,ほかのインタセプタメソッドがあとで取得できます。
-
-
virtual void postinvoke_premarshal(
CORBA::Object_ptr target,
IOP::ServiceContextList& ServiceContextList,
CORBA::Environment_ptr env,
VISClosure& closure);
このメソッドは,リクエストがサーバントに送信されてから,応答がマーシャリングされるまでの間に呼び出されます。ここで発生した例外には,チェーンを中断することによって対処します。この場合,リクエストはサーバに送信されないで,exception_occurred()がチェーンのすべてのインタセプタに対して呼び出されます。
-
target
サーバにバインドされているクライアントオブジェクト
-
ServiceContextList
ORBが割り当てたサービスを識別します。このサービスはOMGに規定されているものです。
-
env
発生した例外の情報を格納します。
-
closure
あるインタセプタメソッドが保存したデータを格納する場合があります。このデータは,ほかのインタセプタメソッドがあとで取得できます。
-
-
virtual void postinvoke_postmarshal(
CORBA::Object_ptr _target,
CORBA::MarshalOutBuffer& _payload,
VISClosure& _closure);
このメソッドは,応答がマーシャリングされてから,クライアントに送信されるまでの間に呼び出されます。ここで発生した例外は無視されます。チェーン全体が呼び出されるように保証されます。
-
_target
アプリケーションがバインドしようとしたオブジェクト
-
_payload
マーシャリング済みバッファ
-
_closure
あるインタセプタメソッドが保存したデータを格納する場合があります。このデータは,ほかのインタセプタメソッドがあとで取得できます。
-
-
virtual void exception_occurred(
CORBA::Object_ptr _target,
CORBA::Environment_ptr _env,
VISClosure& _closure);
インタセプタの一つで例外が発生したあとに,チェーンに残っているすべてのインタセプタに対してexception_occurredインタセプタが呼び出されると,ORBはこのメソッドを呼び出します。この呼び出し中に発生した例外によって,該当する環境の既存の例外が置き換えられます。
-
_target
サーバにバインドされているクライアントオブジェクト
-
_env
発生した例外の情報を格納します。
-
_closure
あるインタセプタメソッドが保存したデータを格納する場合があります。このデータは,ほかのインタセプタメソッドがあとで取得できます。
-