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, 2013, Oracle and/or its affiliates. All rights reserved.