bea ホーム | 製品 | dev2dev | support | askBEA
BEA Logo Tuxedo
 ドキュメントのダウンロード   サイトマップ   用語集 
検索
0

Tuxedo CORBA 要求レベルのインターセプタ

 Previous Next Contents Index View as PDF  

TargetRequestInterceptor::target_invoke

概要

ターゲット・オブジェクトで呼び出しが受信されると、ターゲット側 ORB によって呼び出されます。

C++ バインディング

virtual Interceptors::InvokeReturnStatus 
target_invoke(
const RequestContext & request_context,
ServiceContextList_ptr service_context,
CORBA::DataInputStream_ptr request_arg_stream,
CORBA::DataOutputStream_ptr reply_arg_stream,
CORBA::Exception_ptr & excep_val ) = 0;

パラメータ

request_context

要求が行われているコンテキストについての情報が含まれた RequestContext へのリファレンスです。

service_context

ターゲット・オブジェクトへの要求の一部として受信される、サービス・コンテキスト情報が含まれた ServiceContextList へのポインタです。

BEA Tuxedo 8.0 では、このパラメータの値は常に nil オブジェクトとなります。

request_arg_stream

インターセプタのインプリメンテーションが、オペレーションのパラメータ値の取得に使用できる、DataInputStream へのポインタです。

DataInputStream には、すべての in パラメータおよび inout パラメータが、オペレーションの IDL 定義で指定された順序で左から右へ配列されて含まれます。nil の DataInputStream は、引数が存在しないことを示します。

reply_arg_stream

呼び出しのイニシエータに、応答として返されるパラメータを挿入するのに使用可能な、DataOutputStream へのポインタです。このパラメータの使用は、REPLY_NO_EXCEPTION のステータスが返された場合のみ有効です。

BEA Tuxedo 8.0 では、このパラメータの値は常に nil オブジェクトとなります。

excep_val

エラーを報告するためにインターセプタが例外を返すことのできる場所に対するリファレンスです。このパラメータの使用は、REPLY_EXCEPTION のステータスが返された場合のみ有効です。ORB が、excep_val パラメータのためのメモリ管理の役割を持つことに注意してください。

例外

特にありません。

説明

target_invoke オペレーションは、RequestLevelInterceptor::TargetRequestInterceptor インターフェイスをサポートするインターセプタのインプリメンテーションに対して呼び出されます。このオペレーションは、ターゲット・オブジェクトが異なるアドレス領域にあるか、同じアドレス領域にあるかに関係なく、呼び出しがターゲット・オブジェクトによって受信されると ORB によって呼び出されます。

戻り値

INVOKE_NO_EXCEPTION

インターセプタが要求された処理をすべて正常に実行済みであり、ORB は呼び出しの処理を続行して、ターゲット・オブジェクトに送信すべきであることを示します。

REPLY_NO_EXCEPTION

インターセプタが要求を完全に満たすために必要なすべての処理を正常に実行済みであることを示します。ORB は、完了された要求を検討し、reply_arg_stream に含まれる情報があれば、それをその要求の戻りパラメータ値として、処理し始めなければなりません。

注記 : BEA Tuxedo 8.0 では、インターセプタがこのステータス値を返すことはできません。

REPLY_EXCEPTION

インターセプタがエラーに遭遇したため、それにより要求をターゲット・オブジェクトに送信するための処理が中断することを示します。ORB に例外を報告するのに、パラメータ excep_val が使用されます。ORB は、クライアントに戻る過程でのインターセプタの呼び出しを、target_response オペレーションではなく、exception_occurred オペレーションで行います。ORB が、excep_val パラメータのためのメモリ管理の役割を持つことに注意してください。

 

Back to Top Previous Next
Contact e-docsContact BEAwebmasterprivacy