-
- 既知のすべてのサブインタフェース:
ClientRequestInfo,ClientRequestInfoOperations,RequestInfo,ServerRequestInfo,ServerRequestInfoOperations
public interface RequestInfoOperationsインタセプタがアクセスできる要求情報です。各遮断点には、インタセプタが要求情報にアクセスするためのオブジェクトが用意されています。 クライアント側とサーバー側の遮断点は別々の情報に関係しているため、2つの情報オブジェクトが用意されています。つまり、
ClientRequestInfoはクライアント側の遮断点に渡され、ServerRequestInfoはサーバー側の遮断点に渡されます。 ただし、両方に共通している情報があるため、どちらのオブジェクトも共通インタフェースRequestInfoを継承します。
-
-
メソッドのサマリー
すべてのメソッド インスタンス・メソッド 抽象メソッド 修飾子と型 メソッド 説明 Parameter[]arguments()呼び出されるオペレーションの引数を含むParameterオブジェクトの配列を返します。String[]contexts()このオペレーション呼出しで渡される可能性があるコンテキストを記述するStringオブジェクトの配列を返します。TypeCode[]exceptions()このオペレーション呼出しによってスローされる可能性があるユーザー例外のTypeCodeを記述するTypeCodeオブジェクトの配列を返します。Objectforward_reference()reply_status属性がLOCATION_FORWARDである場合は、リクエストの転送先となるオブジェクトを格納します。ServiceContextget_reply_service_context(int id)応答に関連付けられている指定されたIDを持つサービス・コンテキストのコピーを返します。ServiceContextget_request_service_context(int id)要求に関連付けられている指定されたIDを持つサービス・コンテキストのコピーを返します。Anyget_slot(int id)リクエストのスコープ内にあるPortableInterceptor.Currentの指定されたスロットからデータを返します。Stringoperation()呼び出されるオペレーションの名前を返します。String[]operation_context()このリクエストで送信されるコンテキストを含むStringオブジェクトの配列を返します。shortreply_status()オペレーション呼出しの結果の状態を記述します。intrequest_id()アクティブな要求/応答シーケンスを一意に識別するIDを返します。booleanresponse_expected()応答が予想されるかどうかを示します。Anyresult()オペレーション呼出しの結果を格納するanyを返します。shortsync_scope()制御がクライアントに返されるまでにリクエストが転送される範囲を定義します。
-
-
-
メソッドの詳細
-
request_id
int request_id()
アクティブな要求/応答シーケンスを一意に識別するIDを返します。 要求/応答シーケンスが終了すると、このIDは再利用できます。 このIDとGIOPのrequest_idは同一ではありません。 GIOPが転送メカニズムで使用される場合は、これらのIDがまったく同じになることがありますが、このことは保証されておらず、また必須でもありません。
-
operation
String operation()
呼び出されるオペレーションの名前を返します。
-
arguments
Parameter[] arguments()
呼び出されるオペレーションの引数を含むParameterオブジェクトの配列を返します。 引数がない場合、この属性は長さ0の配列となります。すべての環境で引数が利用できるわけではありません。 たとえば、Javaポータブル・バインディングを使用すると、引数は利用できなくなります。 このような環境でこの属性にアクセスすると、標準マイナー・コード1が設定された
NO_RESOURCESがスローされます。注: DSI/DII呼出しには引数が利用できます。
- 例外:
NO_RESOURCES- 引数が利用できない場合にスローされる。- 関連項目:
PortableInterceptorパッケージの制限/実装されていないメソッドについてのコメント
-
exceptions
TypeCode[] exceptions()
このオペレーション呼出しによってスローされる可能性があるユーザー例外のTypeCodeを記述するTypeCodeオブジェクトの配列を返します。 ユーザー例外がない場合は、長さ0の配列を返します。すべての環境で例外リストが利用できるわけではありません。 たとえば、Javaポータブル・バインディングを使用すると、例外リストは利用できなくなります。 このような環境でこの属性にアクセスすると、標準マイナー・コード1が設定された
NO_RESOURCESがスローされます。注: DSI/DII呼出しには例外が利用できます。
- 例外:
NO_RESOURCES- 例外が利用できない場合にスローされる。- 関連項目:
PortableInterceptorパッケージの制限/実装されていないメソッドについてのコメント
-
contexts
String[] contexts()
このオペレーション呼出しで渡される可能性があるコンテキストを記述するStringオブジェクトの配列を返します。 コンテキストがない場合は、長さ0の配列を返します。すべての環境でコンテキスト・リストが利用できるわけではありません。 たとえば、Javaポータブル・バインディングを使用すると、コンテキスト・リストは利用できなくなります。 このような環境でこの属性にアクセスすると、標準マイナー・コード1が設定された
NO_RESOURCESがスローされます。注: DSI/DII呼出しにはコンテキストが利用できます。
- 例外:
NO_RESOURCES- コンテキストが利用できない場合にスローされる。- 関連項目:
PortableInterceptorパッケージの制限/実装されていないメソッドについてのコメント
-
operation_context
String[] operation_context()
このリクエストで送信されるコンテキストを含むStringオブジェクトの配列を返します。すべての環境でコンテキストが利用できるわけではありません。 たとえば、Javaポータブル・バインディングを使用すると、コンテキストは利用できなくなります。 このような環境でこの属性にアクセスすると、標準マイナー・コード1が設定されたNO_RESOURCESがスローされます。
注: DSI/DII呼出しには
operation_contextが利用できます。- 例外:
NO_RESOURCES- オペレーション・コンテキストが利用できない場合にスローされる。- 関連項目:
PortableInterceptorパッケージの制限/実装されていないメソッドについてのコメント
-
result
Any result()
オペレーション呼出しの結果を格納するanyを返します。 オペレーションの戻り値の型がvoidの場合、この属性はTCKind値がtk_voidに設定された値のない型コードを含むanyとなります。すべての環境で結果が利用できるわけではありません。 たとえば、Javaポータブル・バインディングを使用すると、結果は利用できなくなります。 このような環境でこの属性にアクセスすると、標準マイナー・コード1が設定された
NO_RESOURCESがスローされます。注: DSI/DII呼出しには結果が利用できます。
- 例外:
NO_RESOURCES- 結果が利用できない場合にスローされる。- 関連項目:
PortableInterceptorパッケージの制限/実装されていないメソッドについてのコメント
-
response_expected
boolean response_expected()
応答が予想されるかどうかを示します。クライアントでは、
response_expectedがfalseのときは応答が返されないため、receive_replyを呼び出すことができません。例外がスローされない場合はreceive_otherが呼び出され、例外がスローされる場合はreceive_exceptionが呼び出されます。クライアントの
send_poll内では、この属性はtrueです。
-
sync_scope
short sync_scope()
制御がクライアントに返されるまでにリクエストが転送される範囲を定義します。 これは、Messaging仕様で定義され、response_expectedがfalseの場合にだけ関係があります。response_expectedがtrueの場合、sync_scopeの値は定義されません。 この属性には、次のどれかの値を指定できます。Messaging.SYNC_NONEMessaging.SYNC_WITH_TRANSPORTMessaging.SYNC_WITH_SERVERMessaging.SYNC_WITH_TARGET
receive_request_service_contexts、receive_request、send_reply、またはsend_exception)。SYNC_WITH_SERVERとSYNC_WITH_TARGETの場合、サーバーはターゲットが呼び出される前に、空の応答をクライアントに送り返します。 この応答は、サーバー側のインタセプタによって遮断されません。
-
reply_status
short reply_status()
オペレーション呼出しの結果の状態を記述します。 この戻り値は、次のどれかになります。PortableInterceptor.SUCCESSFULPortableInterceptor.SYSTEM_EXCEPTIONPortableInterceptor.USER_EXCEPTIONPortableInterceptor.LOCATION_FORWARDPortableInterceptor.TRANSPORT_RETRY
receive_reply遮断点内では、SUCCESSFULだけが返されますreceive_exception遮断点内では、SYSTEM_EXCEPTIONまたはUSER_EXCEPTIONのどちらかが返されます。receive_other遮断点内では、SUCCESSFUL、LOCATION_FORWARD、TRANSPORT_RETRYのどれかが返されます。SUCCESSFULは、非同期リクエストが正常に返されたことを意味します。LOCATION_FORWARDは、応答がLOCATION_FORWARDというステータスで返されたことを意味します。TRANSPORT_RETRYは、転送メカニズムが再試行(NEEDS_ADDRESSING_MODEというステータスのGIOP応答など)を指示したことを意味します。
send_reply遮断点内では、SUCCESSFULだけが返されます。send_exception遮断点内では、SYSTEM_EXCEPTIONまたはUSER_EXCEPTIONのどちらかが返されます。send_other遮断点内では、SUCCESSFULまたはLOCATION_FORWARDのどちらかが返されます。SUCCESSFULは、非同期リクエストが正常に返されたことを意味します。LOCATION_FORWARDは、応答がLOCATION_FORWARDというステータスで返されたことを意味します。
-
forward_reference
Object forward_reference()
reply_status属性がLOCATION_FORWARDである場合は、リクエストの転送先となるオブジェクトを格納します。 転送されたリクエストが実際に実行されるかどうかはわかりません。
-
get_slot
Any get_slot(int id) throws InvalidSlot
リクエストのスコープ内にあるPortableInterceptor.Currentの指定されたスロットからデータを返します。指定されたスロットが設定されていない場合は、
TCKind値がtk_nullに設定された型コードを含むanyが返されます。- パラメータ:
id- 返されるスロットのSlotId。- 戻り値:
- 指定されたIDを使って取得されたany形式のスロット・データ。
- 例外:
InvalidSlot- このIDによって割当て済みのスロットが定義されていない場合にスローされる。- 関連項目:
Current
-
get_request_service_context
ServiceContext get_request_service_context(int id)
要求に関連付けられている指定されたIDを持つサービス・コンテキストのコピーを返します。- パラメータ:
id- 返されるサービス・コンテキストのIOP.ServiceId。- 戻り値:
- 指定されたIDを使って取得された
IOP.ServiceContext。 - 例外:
BAD_PARAM- リクエストのサービス・コンテキストにそのIDのエントリが含まれていない場合、標準マイナー・コード26でスローされる。
-
get_reply_service_context
ServiceContext get_reply_service_context(int id)
応答に関連付けられている指定されたIDを持つサービス・コンテキストのコピーを返します。- パラメータ:
id- 返されるサービス・コンテキストのIOP.ServiceId。- 戻り値:
- 指定されたIDを使って取得された
IOP.ServiceContext。 - 例外:
BAD_PARAM- リクエストのサービス・コンテキストにそのIDのエントリが含まれていない場合、標準マイナー・コード26でスローされる。
-
-