Borland(R) Enterprise Server VisiBroker(R) プログラマーズリファレンス

[目次][索引][前へ][次へ]

27.20 ServerRequestInfo

 
class PortableInterceptor::ServerRequestInfo :
                       public virtual RequestInfo,
                       public virtual CORBA::LocalObject
 

このクラスはRequestInfoから派生したクラスで,サーバ側インタセプトポイントに渡されます。ServerRequestInfoのメソッドは,一部のインタセプトポイントでは有効ではありません。

次の表に,属性またはメソッドの有効性を示します。無効の属性またはメソッドにアクセスすると,標準マイナーコード14のBAD_INV_ORDER例外が発生します。

表27-3 ServerRequestInfoの有効性(C++)

  receive_request_service_contexts receive_request send_reply send_exception send_other
request_id ○ ○ ○ ○ ○
operation ○ ○ ○ ○ ○
arguments × ○※1 ○ × ×
exceptions × ○ ○ ○ ○
contexts × ○ ○ ○ ○
operation_context × ○ ○ × ×
result × × ○ × ×
response_expected ○ ○ ○ ○ ○
sync_scope ○ ○ ○ ○ ○
reply_status × × ○ ○ ○
forward_reference × × × × ○※2
get_slot ○ ○ ○ ○ ○
get_request_service_context ○ ○ ○ ○ ○
get_reply_service_context × × ○ ○ ○
sending_exception × × × ○ ×
object_id × ○ ○ ○※3 ○※3
adapter_id × ○ ○ ○※3 ○※3
target_most_derived_interface × ○ ×※4 ×※4 ×※4
get_server_policy ○ ○ ○ ○ ○
set_slot ○ ○ ○ ○ ○
target_is_a × ○ ×※4 ×※4 ×※4
add_reply_service_context ○ ○ ○ ○ ○

注※1
ServerRequestInfoがreceive_request()に渡される場合,in,inout,またはoutの各引数のリストにエントリがありますが,使用できるのはin引数とinout引数だけです。

注※2
reply_status()がLOCATION_FORWARDを返さない場合,この属性にアクセスすると標準マイナーコード14のBAD_INV_ORDER例外が発生します。

注※3
Servant Locatorでロケーションのフォワードや,例外が発生した場合,この属性またはメソッドは,当該インタセプトポイントで使用できないことがあります。使用できない場合は,標準マイナーコード1のNO_RESOURCES例外が発生します。

注※4
このメソッドは,当該インタセプトポイントで使用できません。
それは,必要な情報を取得するためにはターゲットオブジェクトのサーバントにアクセスする必要がありますが,この時点でORBはこのサーバントを使用できないためです。例えば,ServantLocatorを使用するPOAがオブジェクトのアダプタである場合,ORBは,ServantLocator::postinvoke()を呼び出したあとでインタセプトポイントを呼び出します。
<この節の構成>
27.20.1 インクルードファイル
27.20.2 ServerRequestInfoのメソッド