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_NONEMessaging.SYNC_WITH_TRANSPORTMessaging.SYNC_WITH_SERVERMessaging.SYNC_WITH_TARGETreceive_request_service_contexts、receive_request、send_reply、または send_exception)。
SYNC_WITH_SERVER と SYNC_WITH_TARGET の場合、サーバーはターゲットが呼び出される前に、空の応答をクライアントに送り返します。この応答は、サーバー側のインタセプタによって遮断されません。
short reply_status()
PortableInterceptor.SUCCESSFULPortableInterceptor.SYSTEM_EXCEPTIONPortableInterceptor.USER_EXCEPTIONPortableInterceptor.LOCATION_FORWARDPortableInterceptor.TRANSPORT_RETRYreceive_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 によって割り当て済みのスロットが定義されていない場合にスローされる。CurrentServiceContext 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.