Hitachi

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


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_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()を呼び出したあとでインタセプトポイントを呼び出します。

〈この節の構成〉