org.omg.PortableInterceptor

接口
异常
所有超级接口:
IDLEntity, Object, RequestInfo, RequestInfoOperations, Serializable, ServerRequestInfoOperations

public interface ServerRequestInfo
     
extends ServerRequestInfoOperations, RequestInfo, IDLEntity

服务器端请求 interceptor 可访问的请求信息。

某些 ServerRequestInfo 上的属性和操作并不是对所有的截取点都有效。下表展示了每个属性或操作的有效性。如果无效,则试图访问它将导致抛出 BAD_INV_ORDER,并带有标准次要代码 14。

  receive_request_
service_contexts
receive_request send_reply send_exception send_other
继承自 RequestInfo:

request_id

operation

arguments

1 2 2

exceptions

contexts

operation_context

result

response_expected

sync_scope

request_id
operation
arguments 1 2 2
exceptions
contexts
operation_context
result
response_expected
sync_scope
reply_status
forward_reference 2
get_slot
get_request_service_context
get_reply_service_context
特定于 ServerRequestInfo:
sending_exception
object_id 3 3
adapter_id 3 3
server_id
orb_id
adapter_name
target_most_derived_interface 4 4 4
get_server_policy
set_slot
target_is_a 4 4 4
add_reply_service_context
  1. ServerRequestInfo 传递给 receive_request 时,对于每个参数(无论它是 in、inout 还是 out),列表中都有一个对应的条目。但只有 in 和 inout 参数可用。
  2. 如果 reply_status 属性不是 LOCATION_FORWARD,则访问此属性将抛出 BAD_INV_ORDER,并带有标准次要代码 14。
  3. 如果 servant 定位器导致位置转发或抛出异常,则此属性/操作在此截取点不可用。如果不可用,则抛出 NO_RESOURCES,并带有标准次要代码 1。
  4. 该操作在此截取点不可用,因为必要信息要求访问目标对象的 servant,而该 servant 对于 ORB 已经不可用。例如,如果对象适配器为使用 ServantLocator 的 POA,则 ORB 将在调用 ServantLocator.postinvoke() 后调用该截取点。

另请参见:
ServerRequestInterceptor

方法摘要
 
从接口 org.omg.PortableInterceptor.ServerRequestInfoOperations 继承的方法
adapter_id, adapter_name, add_reply_service_context, get_server_policy, object_id, orb_id, sending_exception, server_id, set_slot, target_is_a, target_most_derived_interface
 
从接口 org.omg.PortableInterceptor.RequestInfoOperations 继承的方法
arguments, contexts, exceptions, forward_reference, get_reply_service_context, get_request_service_context, get_slot, operation_context, operation, reply_status, request_id, response_expected, result, sync_scope
 
从接口 org.omg.CORBA.Object 继承的方法
_create_request, _create_request, _duplicate, _get_domain_managers, _get_interface_def, _get_policy, _hash, _is_a, _is_equivalent, _non_existent, _release, _request, _set_policy_override