public interface RequestInfoOperations
每个拦截点都有一个对象,通过该对象,拦截器可以访问请求信息。 客户端和服务器端拦截点都涉及到不同的信息,所以有两个信息对象: ClientRequestInfo
传递给客户端拦截点, ServerRequestInfo
传递给服务器端截取点。 但是有两个共同的信息,所以它们都从一个通用的接口继承: RequestInfo
。
ClientRequestInfo
, ServerRequestInfo
Modifier and Type | Method and Description |
---|---|
Parameter[] |
arguments()
返回一个
Parameter 对象的数组,其中包含被调用操作的参数。
|
String[] |
contexts()
返回描述可以在此操作调用中传递的上下文的
String 对象的数组。
|
TypeCode[] |
exceptions()
返回的数组
TypeCode 对象描述
TypeCode s表示此操作调用可能抛出用户异常。
|
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 在请求中发送的上下文。
|
String |
operation()
返回被调用的操作的名称。
|
short |
reply_status()
描述操作调用结果的状态。
|
int |
request_id()
返回唯一标识活动请求/回复序列的ID。
|
boolean |
response_expected()
指示是否预期响应。
|
Any |
result()
返回一个包含操作调用结果的值。
|
short |
sync_scope()
定义在将控制权返回给客户端之前请求的进展程度。
|
int request_id()
request_id
。
如果GIOP是使用的传输机制,那么这些ID可能是一样的,但是这不是保证也不是必需的。
String operation()
Parameter[] arguments()
Parameter
对象的数组,其中包含被调用操作的参数。
如果没有参数,此属性将为零长度数组。
并非所有环境都提供对参数的访问。 例如,使用Java便携式绑定,参数不可用。 在这些环境中,当访问此属性时, NO_RESOURCES
将被抛出,标准的次要代码为1。
注意:参数可用于DSI / DII呼叫。
NO_RESOURCES
- 如果参数不可用,则抛出。
PortableInterceptor
package comments for limitations / unimplemented features
TypeCode[] exceptions()
TypeCode
对象描述TypeCode
s表示此操作调用可能抛出用户异常。
如果没有用户异常,则返回零长度数组。
并非所有环境都提供对例外列表的访问。 例如,使用Java便携式绑定,例外列表不可用。 在这些环境中,当访问此属性时, NO_RESOURCES
将被抛出,标准的次要代码为1。
注意:例外可用于DSI / DII电话。
NO_RESOURCES
- 如果异常
NO_RESOURCES
,则抛出。
PortableInterceptor
package comments for limitations / unimplemented features
String[] contexts()
String
对象的数组。
如果没有上下文,这将返回零长度数组。
并非所有环境都提供对上下文列表的访问。 使用Java便携式绑定,例如,上下文列表不可用。 在这些环境中,当访问此属性时, NO_RESOURCES
将被抛出,标准的次要代码为1。
注意:上下文可用于DSI / DII呼叫。
NO_RESOURCES
- 如果上下文不可用,则抛出。
PortableInterceptor
package comments for limitations / unimplemented features
String[] operation_context()
String
对象的数组。
并非所有环境都提供对上下文的访问。 例如,使用Java便携式绑定,上下文不可用。 在这些环境中,当访问此属性时,将使用标准的次要代码1抛出NO_RESOURCES。
注: operation_context
可用于DSI / DII电话。
NO_RESOURCES
- 如果操作上下文不可用,则抛出。
PortableInterceptor
package comments for limitations / unimplemented features
Any result()
TCKind
值为tk_void
并且没有值的类型代码。
并非所有环境都提供对结果的访问。 例如,使用Java便携式绑定,结果不可用。 在这些环境中,当访问此属性时, NO_RESOURCES
将抛出标准的次要代码为1。
注意:结果可用于DSI / DII呼叫。
NO_RESOURCES
- 如果结果不可用,则抛出。
PortableInterceptor
package comments for limitations / unimplemented features
boolean response_expected()
在客户端,当response_expected
为false时,不会返回回复,所以receive_reply
无法调用。 receive_other
被调用,除非发生异常,在这种情况下receive_exception
。
在客户端,在send_poll
内,这个属性是真的。
short sync_scope()
response_expected
为false时才response_expected
。
如果response_expected
为真,则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
作为其状态。 SUCCESSFUL
, SYSTEM_EXCEPTION
, USER_EXCEPTION
, LOCATION_FORWARD
, TRANSPORT_RETRY
Object forward_reference()
reply_status
属性为LOCATION_FORWARD
,则包含请求转发的对象。
转发的请求是否实际发生是不确定的。
Any get_slot(int id) throws InvalidSlot
PortableInterceptor.Current
的给定时隙返回数据。
如果给定的时隙没有被设置,然后将含有与类型代码的任何TCKind
的值tk_null
被返回。
id
- 要退回的槽的
SlotId
。
InvalidSlot
- 如果ID未定义分配的插槽,则抛出。
Current
ServiceContext get_request_service_context(int id)
id
- 要返回的服务上下文的
IOP.ServiceId
。
IOP.ServiceContext
获得的IOP.ServiceContext。
BAD_PARAM
- 如果请求的服务上下文不包含该ID的条目,则抛出标准的次要代码26。
ServiceContext get_reply_service_context(int id)
id
- 要返回的服务上下文的
IOP.ServiceId
。
IOP.ServiceContext
获得的IOP.ServiceContext。
BAD_PARAM
- 如果请求的服务上下文不包含该ID的条目,则抛出标准的次要代码26。