public interface ClientRequestInfoOperations extends RequestInfoOperations
Some attributes and operations on ClientRequestInfo
are
not valid at all interception points. The following table shows the
validity of each attribute or operation. If it is not valid, attempting
to access it will result in a BAD_INV_ORDER
being thrown
with a standard minor code of 14.
send_request | send_poll | receive_reply | receive_exception | receive_other | |
---|---|---|---|---|---|
Inherited from RequestInfo: | |||||
request_id |
yes | yes | yes | yes | yes |
operation |
yes | yes | yes | yes | yes |
arguments |
yes1 | no | yes | no | no |
exceptions |
yes | no | yes | yes | yes |
contexts |
yes | no | yes | yes | yes |
operation_context |
yes | no | yes | yes | yes |
result |
no | no | yes | no | no |
response_expected |
yes | yes | yes | yes | yes |
sync_scope |
yes | no | yes | yes | yes |
reply_status |
no | no | yes | yes | yes |
forward_reference |
no | no | no | no | yes2 |
get_slot |
yes | yes | yes | yes | yes |
get_request_service_context |
yes | no | yes | yes | yes |
get_reply_service_context |
no | no | yes | yes | yes |
ClientRequestInfo-specific: | |||||
target |
yes | yes | yes | yes | yes |
effective_target |
yes | yes | yes | yes | yes |
effective_profile |
yes | yes | yes | yes | yes |
received_exception |
no | no | no | yes | no |
received_exception_id |
no | no | no | yes | no |
get_effective_component |
yes | no | yes | yes | yes |
get_effective_components |
yes | no | yes | yes | yes |
get_request_policy |
yes | no | yes | yes | yes |
add_request_service_context |
yes | no | no | no | no |
ClientRequestInfo
is passed to
send_request
, there is an entry in the list for every
argument, whether in, inout, or out. But only the in and inout
arguments will be available.reply_status
atribute is not
LOCATION_FORWARD
, accessing this attribute will
throw BAD_INV_ORDER
with a standard minor code of
14.ClientRequestInterceptor
Modifier and Type | Method and Description |
---|---|
void |
add_request_service_context(ServiceContext service_context,
boolean replace)
Allows Interceptors to add service contexts to the request.
|
TaggedProfile |
effective_profile()
Returns the profile that will be used to send the request.
|
Object |
effective_target()
Returns the actual object on which the operation will be invoked.
|
TaggedComponent |
get_effective_component(int id)
Returns the
IOP.TaggedComponent with the given ID from
the profile selected for this request. |
TaggedComponent[] |
get_effective_components(int id)
Returns an array of all tagged components with the given ID from the
profile selected for this request.
|
Policy |
get_request_policy(int type)
Returns the given policy in effect for this operation.
|
String |
received_exception_id()
Returns the repository id of the exception to be returned to
the client.
|
Any |
received_exception()
Returns an any which contains the exception to be returned to
the client.
|
Object |
target()
Returns the object which the client called to perform the
operation.
|
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
Object target()
effective_target()
Object effective_target()
reply_status
is LOCATION_FORWARD
,
then on subsequent requests, effective_target
will
contain the forwarded IOR while target will remain unchanged.target()
TaggedProfile effective_profile()
Any received_exception()
If the exception is a user exception which cannot be inserted
into an any (e.g., it is unknown or the bindings don t provide
the TypeCode
), then this attribute will be an any
containing the system exception UNKNOWN
with a
standard minor code of 1. However, the repository id of
the exception is available in the received_exception_id
attribute.
received_exception_id()
String received_exception_id()
TaggedComponent get_effective_component(int id)
IOP.TaggedComponent
with the given ID from
the profile selected for this request.
If there is more than one component for a given component ID, it
is undefined which component this operation returns. If there is
more than one component for a given component ID,
get_effective_components
should be called instead.
id
- The component id of the component which
is to be returned.IOP.TaggedComponent
obtained with the
given identifier.BAD_PARAM
- thrown, with a standard minor code of 28, if
no component exists for the given component ID.get_effective_components(int)
TaggedComponent[] get_effective_components(int id)
id
- The component id of the components which are to be returned.TaggedComponent
objects, each of
which contains the given identifier.BAD_PARAM
- thrown, with a standard minor code of 28, if
no component exists for the given component ID.get_effective_component(int)
Policy get_request_policy(int type)
type
- The policy type which specifies the policy to be
returned.CORBA.Policy
obtained with the given type.INV_POLICY
- thrown, with a standard minor code of 1, if the
policy type is not valid either because the specified type is
not supported by this ORB or because a policy object of that type
is not associated with this ObjectPortableInterceptor
package comments for
limitations / unimplemented featuresvoid add_request_service_context(ServiceContext service_context, boolean replace)
There is no declaration of the order of the service contexts. They may or may not appear in the order that they are added.
service_context
- The IOP.ServiceContext
to be
added to the request.replace
- Indicates the behavior of this operation when a
service context already exists with the given ID. If false,
then BAD_INV_ORDER
with a standard minor code of 15
is thrown. If true, then the existing service context is
replaced by the new one. 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, 2022, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.