10.18 ServerRequestInfo
public interface ServerRequestInfo extends RequestInfo, org.omg.CORBA.LocalInterface, org.omg.PortableInterceptor.ServerRequestInfoOperations, org.omg.CORBA.portable.IDLEntity
ServerRequestInfoは,RequestInfoから派生したインタフェースです。サーバ側インタセプトポイントに渡されます。ServerRequestInfoのメソッドは,一部のインタセプトポイントでは有効ではありません。
次の表に,属性またはメソッドの有効性を示します。無効の属性またはメソッドにアクセスすると,標準マイナーコード14のBAD_INV_ORDER例外が発生します。
receive_request_service_contexts |
receive_request |
send_reply |
send_exception |
send_other |
|
---|---|---|---|---|---|
request_id |
○ |
○ |
○ |
○ |
○ |
operation |
○ |
○ |
○ |
○ |
○ |
arguments |
× |
○※1 |
○ |
×※2 |
×※2 |
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()を呼び出したあとでインタセプトポイントを呼び出します。