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例外が発生します。

表10-3 ServerRequestInfoの有効性(Java)

 receive_request_service_contextsreceive_requestsend_replysend_exceptionsend_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()を呼び出したあとでインタセプトポイントを呼び出します。
<この節の構成>
10.18.1 import文
10.18.2 ServerRequestInfoのメソッド