public interface ClientRequestInfoOperations extends RequestInfoOperations
 对一些属性和操作ClientRequestInfo是不是在所有的拦截点有效。 下表显示每个属性或操作的有效性。 如果它无效,尝试访问它将导致BAD_INV_ORDER被抛出标准的次要代码14。 
request_id
yes yes yes yes yesoperation
yes yes yes yes yesarguments
yes1 no yes no noexceptions
yes no yes yes yescontexts
yes no yes yes yesoperation_context
yes no yes yes yesresult
no no yes no noresponse_expected
yes yes yes yes yessync_scope
yes no yes yes yesreply_status
no no yes yes yesforward_reference
no no no no yes2get_slot
yes yes yes yes yesget_request_service_context
yes no yes yes yesget_reply_service_context
no no yes yes yes ClientRequestInfo-specific:target
yes yes yes yes yeseffective_target
yes yes yes yes yeseffective_profile
yes yes yes yes yesreceived_exception
no no no yes noreceived_exception_id
no no no yes noget_effective_component
yes no yes yes yesget_effective_components
yes no yes yes yesget_request_policy
yes no yes yes yesadd_request_service_context
yes no no no noClientRequestInfo传递给send_request时,每个参数的列表中都有一个条目,无论是在inout还是out中。 但是只有in和inout参数才可用。 reply_status属性不是LOCATION_FORWARD ,则访问此属性将抛出BAD_INV_ORDER ,标准的次要代码为14。 ClientRequestInterceptor 
       | Modifier and Type | Method and Description | 
|---|---|
| void | add_request_service_context(ServiceContext service_context, boolean replace)
              允许拦截器向请求添加服务上下文。 
             | 
| TaggedProfile | effective_profile()
              返回将用于发送请求的配置文件。 
             | 
| Object | effective_target()
              返回将调用操作的实际对象。 
             | 
| TaggedComponent | get_effective_component(int id)
              从为此请求选择的配置文件中返回具有给定ID的 
              IOP.TaggedComponent。 | 
| TaggedComponent[] | get_effective_components(int id)
              从为该请求选择的配置文件中返回具有给定ID的所有标记组件的数组。 
             | 
| Policy | get_request_policy(int type)
              返回此操作生效的给定策略。 
             | 
| String | received_exception_id()
              返回要返回给客户端的异常的存储库ID。 
             | 
| Any | received_exception()
              返回任何包含要返回给客户端的异常。 
             | 
| Object | target()
              返回客户端调用以执行操作的对象。 
             | 
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_scopeObject target()
effective_target() 
           Object effective_target()
reply_status是LOCATION_FORWARD ,则在随后的请求中, effective_target将包含转发的IOR,而目标将保持不变。 
          target() 
           TaggedProfile effective_profile()
Any received_exception()
 如果异常是用户异常,不能插入任何(例如,未知或绑定不提供TypeCode ),则该属性将包含系统异常UNKNOWN ,其标准次要代码为1。然而,异常的存储库id处于可用received_exception_id属性。 
received_exception_id() 
           String received_exception_id()
TaggedComponent get_effective_component(int id)
IOP.TaggedComponent 。 
            如果给定的组件ID有多个组件,则该操作将返回哪个组件未定义。 如果给定组件ID有多个组件,则应调用get_effective_components 。 
id - 要返回的组件的组件ID。 
           IOP.TaggedComponent获得的IOP.TaggedComponent。 
           BAD_PARAM - 抛出,标准的次要代码为28,如果给定的组件ID没有组件。 
           get_effective_components(int) 
           TaggedComponent[] get_effective_components(int id)
id - 要返回的组件的组件ID。 
           TaggedComponent对象,每个对象包含给定的标识符。 
           BAD_PARAM - 抛出,标准的次要代码为28,如果给定的组件ID不存在组件。 
           get_effective_component(int) 
           Policy get_request_policy(int type)
type - 指定要返回的策略的策略类型。 
           CORBA.Policy 。 
           INV_POLICY - 抛出,标准的次要代码为1,如果策略类型无效,因为此ORB不支持指定的类型,或者因为该类型的策略对象不与此对象关联 
           PortableInterceptor package comments for limitations / unimplemented features 
           void add_request_service_context(ServiceContext service_context, boolean replace)
没有声明服务上下文的顺序。 他们可能会或不会按照添加的顺序出现。
service_context - 要添加到请求的 
            IOP.ServiceContext 。 
           replace - 表示当具有给定ID的服务上下文已存在时此操作的行为。 
            如果是false,那么BAD_INV_ORDER与标准的小代码15被抛出。 
            如果为true,则现有服务上下文将被新的服务上下文替换。 
            Submit a bug or feature 
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
 Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.