public interface RequestInfoOperations
各遮断点には、インタセプタが要求情報にアクセスするためのオブジェクトが用意されています。クライアント側とサーバー側の遮断点は別々の情報に関係しているため、2つの情報オブジェクトが用意されています。つまり、ClientRequestInfo
はクライアント側の遮断点に渡され、ServerRequestInfo
はサーバー側の遮断点に渡されます。ただし、両方に共通している情報があるため、どちらのオブジェクトも共通インタフェースRequestInfo
を継承します。
修飾子と型 | メソッドと説明 |
---|---|
Parameter[] |
arguments()
呼び出されるオペレーションの引数を含む
Parameter オブジェクトの配列を返します。 |
String[] |
contexts()
このオペレーション呼出しで渡される可能性があるコンテキストを記述する
String オブジェクトの配列を返します。 |
TypeCode[] |
exceptions()
このオペレーション呼出しによってスローされる可能性があるユーザー例外の
TypeCode を記述するTypeCode オブジェクトの配列を返します。 |
Object |
forward_reference()
reply_status 属性がLOCATION_FORWARD である場合は、リクエストの転送先となるオブジェクトを格納します。 |
ServiceContext |
get_reply_service_context(int id)
応答に関連付けられている指定されたIDを持つサービス・コンテキストのコピーを返します。
|
ServiceContext |
get_request_service_context(int id)
要求に関連付けられている指定されたIDを持つサービス・コンテキストのコピーを返します。
|
Any |
get_slot(int id)
リクエストのスコープ内にある
PortableInterceptor.Current の指定されたスロットからデータを返します。 |
String[] |
operation_context()
このリクエストで送信されるコンテキストを含む
String オブジェクトの配列を返します。 |
String |
operation()
呼び出されるオペレーションの名前を返します。
|
short |
reply_status()
オペレーション呼出しの結果の状態を記述します。
|
int |
request_id()
アクティブな要求/応答シーケンスを一意に識別するIDを返します。
|
boolean |
response_expected()
応答が予想されるかどうかを示します。
|
Any |
result()
オペレーション呼出しの結果を格納するanyを返します。
|
short |
sync_scope()
制御がクライアントに返されるまでにリクエストが転送される範囲を定義します。
|
int request_id()
request_id
は同一ではありません。GIOPが転送メカニズムで使用される場合は、これらのIDがまったく同じになることがありますが、このことは保証されておらず、また必須でもありません。String operation()
Parameter[] arguments()
Parameter
オブジェクトの配列を返します。引数がない場合、この属性は長さ0の配列となります。
すべての環境で引数が利用できるわけではありません。たとえば、Javaポータブル・バインディングを使用すると、引数は利用できなくなります。このような環境でこの属性にアクセスすると、標準マイナー・コード1が設定されたNO_RESOURCES
がスローされます。
注: DSI/DII呼出しには引数が利用できます。
NO_RESOURCES
- 引数が利用できない場合にスローされる。PortableInterceptor
パッケージの制限/実装されていないメソッドについてのコメントTypeCode[] exceptions()
TypeCode
を記述するTypeCode
オブジェクトの配列を返します。ユーザー例外がない場合は、長さ0の配列を返します。
すべての環境で例外リストが利用できるわけではありません。たとえば、Javaポータブル・バインディングを使用すると、例外リストは利用できなくなります。このような環境でこの属性にアクセスすると、標準マイナー・コード1が設定されたNO_RESOURCES
がスローされます。
注: DSI/DII呼出しには例外が利用できます。
NO_RESOURCES
- 例外が利用できない場合にスローされる。PortableInterceptor
パッケージの制限/実装されていないメソッドについてのコメントString[] contexts()
String
オブジェクトの配列を返します。コンテキストがない場合は、長さ0の配列を返します。
すべての環境でコンテキスト・リストが利用できるわけではありません。たとえば、Javaポータブル・バインディングを使用すると、コンテキスト・リストは利用できなくなります。このような環境でこの属性にアクセスすると、標準マイナー・コード1が設定されたNO_RESOURCES
がスローされます。
注: DSI/DII呼出しにはコンテキストが利用できます。
NO_RESOURCES
- コンテキストが利用できない場合にスローされる。PortableInterceptor
パッケージの制限/実装されていないメソッドについてのコメントString[] operation_context()
String
オブジェクトの配列を返します。
すべての環境でコンテキストが利用できるわけではありません。たとえば、Javaポータブル・バインディングを使用すると、コンテキストは利用できなくなります。このような環境でこの属性にアクセスすると、標準マイナー・コード1が設定されたNO_RESOURCESがスローされます。
注: DSI/DII呼出しにはoperation_context
が利用できます。
NO_RESOURCES
- オペレーション・コンテキストが利用できない場合にスローされる。PortableInterceptor
パッケージの制限/実装されていないメソッドについてのコメントAny result()
TCKind
値がtk_void
に設定された値のない型コードを含むanyとなります。
すべての環境で結果が利用できるわけではありません。たとえば、Javaポータブル・バインディングを使用すると、結果は利用できなくなります。このような環境でこの属性にアクセスすると、標準マイナー・コード1が設定されたNO_RESOURCES
がスローされます。
注: DSI/DII呼出しには結果が利用できます。
NO_RESOURCES
- 結果が利用できない場合にスローされる。PortableInterceptor
パッケージの制限/実装されていないメソッドについてのコメントboolean response_expected()
クライアントでは、response_expected
がfalseのときは応答が返されないため、receive_reply
を呼び出すことができません。例外がスローされない場合はreceive_other
が呼び出され、例外がスローされる場合はreceive_exception
が呼び出されます。
クライアントのsend_poll
内では、この属性はtrueです。
short sync_scope()
response_expected
がfalseの場合にだけ関係があります。response_expected
がtrueの場合、sync_scope
の値は定義されません。この属性には、次のどれかの値を指定できます。
Messaging.SYNC_NONE
Messaging.SYNC_WITH_TRANSPORT
Messaging.SYNC_WITH_SERVER
Messaging.SYNC_WITH_TARGET
receive_request_service_contexts
、receive_request
、send_reply
、またはsend_exception
)。
SYNC_WITH_SERVER
とSYNC_WITH_TARGET
の場合、サーバーはターゲットが呼び出される前に、空の応答をクライアントに送り返します。この応答は、サーバー側のインタセプタによって遮断されません。
short reply_status()
PortableInterceptor.SUCCESSFUL
PortableInterceptor.SYSTEM_EXCEPTION
PortableInterceptor.USER_EXCEPTION
PortableInterceptor.LOCATION_FORWARD
PortableInterceptor.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
というステータスで返されたことを意味します。Object forward_reference()
reply_status
属性がLOCATION_FORWARD
である場合は、リクエストの転送先となるオブジェクトを格納します。転送されたリクエストが実際に実行されるかどうかはわかりません。Any get_slot(int id) throws InvalidSlot
PortableInterceptor.Current
の指定されたスロットからデータを返します。
指定されたスロットが設定されていない場合は、TCKind
値がtk_null
に設定された型コードを含むanyが返されます。
id
- 返されるスロットのSlotId
。InvalidSlot
- このIDによって割当て済みのスロットが定義されていない場合にスローされる。Current
ServiceContext get_request_service_context(int id)
id
- 返されるサービス・コンテキストのIOP.ServiceId
。IOP.ServiceContext
。BAD_PARAM
- リクエストのサービス・コンテキストにそのIDのエントリが含まれていない場合、標準マイナー・コード26でスローされる。ServiceContext get_reply_service_context(int id)
id
- 返されるサービス・コンテキストのIOP.ServiceId
。IOP.ServiceContext
。BAD_PARAM
- リクエストのサービス・コンテキストにそのIDのエントリが含まれていない場合、標準マイナー・コード26でスローされる。 バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.