Package org.omg.PortableInterceptor
Interface ServerRequestInfoOperations
- All Superinterfaces:
RequestInfoOperations
- All Known Subinterfaces:
ServerRequestInfo
- All Known Implementing Classes:
ServerRequestInfoImpl
Request Information, accessible to server-side request interceptors.
Some attributes and operations on ServerRequestInfo
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.
receive_request_ service_contexts |
receive_request | send_reply | send_exception | send_other | |
Inherited from RequestInfo: | |||||
request_id | yes | yes | yes | yes | yes |
operation | yes | yes | yes | yes | yes |
arguments | no | yes1 | yes | no2 | no2 |
exceptions | no | yes | yes | yes | yes |
contexts | no | yes | yes | yes | yes |
operation_context | no | yes | yes | no | no |
result | no | no | yes | no | no |
response_expected | yes | yes | yes | yes | yes |
sync_scope | yes | yes | 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 |
ServerRequestInfo-specific: | |||||
sending_exception | no | no | no | yes | no |
object_id | no | yes | yes | yes3 | yes3 |
adapter_id | no | yes | yes | yes3 | yes3 |
server_id | no | yes | yes | yes | yes |
orb_id | no | yes | yes | yes | yes |
adapter_name | no | yes | yes | yes | yes |
target_most_derived_interface | no | yes | no4 | no4 | no4 |
get_server_policy | yes | yes | yes | yes | yes |
set_slot | yes | yes | yes | yes | yes |
target_is_a | no | yes | no4 | no4 | no4 |
add_reply_service_context | yes | yes | yes | yes | yes |
- When
ServerRequestInfo
is passed toreceive_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. - If the
reply_status
attribute is notLOCATION_FORWARD
, accessing this attribute will throwBAD_INV_ORDER
with a standard minor code of 14. - If the servant locator caused a location forward, or thrown an
exception, this attribute/operation may not be available in this
interception point.
NO_RESOURCES
with a standard minor code of 1 will be thrown if it is not available. - The operation is not available in this interception point because
the necessary information requires access to the target object's
servant, which may no longer be available to the ORB. For example,
if the object's adapter is a POA that uses a
ServantLocator
, then the ORB invokes the interception point after it callsServantLocator.postinvoke()
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionbyte[]
Returns the opaque identifier for the object adapter.String[]
Returns the sequence of strings that identifies the object adapter instance that is handling this request.void
add_reply_service_context
(ServiceContext service_context, boolean replace) Allows Interceptors to add service contexts to the request.get_server_policy
(int type) Returns the policy in effect for this operation for the given policy type.byte[]
Returns the opaqueobject_id
describing the target of the operation invocation.orb_id()
Returns the ID that was used to create the ORB.Returns an any which contains the exception to be returned to the client.Returns the server ID that was specified on ORB::init using the -ORBServerId argument.void
Allows an Interceptor to set a slot in thePortableInterceptor.Current
that is in the scope of the request.boolean
target_is_a
(String id) Returns true if the servant is the given repository id, false if it is not.Returns the repository id for the most derived interface of the servant.Methods inherited from interface org.omg.PortableInterceptor.RequestInfoOperations
arguments, contexts, exceptions, forward_reference, get_reply_service_context, get_request_service_context, get_slot, operation, operation_context, reply_status, request_id, response_expected, result, sync_scope
-
Method Details
-
sending_exception
Any sending_exception()Returns an any which contains the exception to be returned to the client.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 exceptionUNKNOWN
with a standard minor code of 1.- Returns:
- Any containing an Exception
- See Also:
-
object_id
byte[] object_id()Returns the opaqueobject_id
describing the target of the operation invocation.- Returns:
- the object ID
-
adapter_id
byte[] adapter_id()Returns the opaque identifier for the object adapter.- Returns:
- the adapter ID
-
server_id
String server_id()Returns the server ID that was specified on ORB::init using the -ORBServerId argument.- Returns:
- the server ID
-
orb_id
String orb_id()Returns the ID that was used to create the ORB.- Returns:
- the ORB ID
-
adapter_name
String[] adapter_name()Returns the sequence of strings that identifies the object adapter instance that is handling this request.- Returns:
- the sequence of strings
-
target_most_derived_interface
String target_most_derived_interface()Returns the repository id for the most derived interface of the servant.- Returns:
- the repository ID
-
get_server_policy
Returns the policy in effect for this operation for the given policy type. The returnedCORBA.Policy
object shall only be a policy whose type was registered viaregister_policy_factory
.- Parameters:
type
- TheCORBA.PolicyType
which specifies the policy to be returned.- Returns:
- The
CORBA.Policy
obtained with the given policy type. - Throws:
INV_POLICY
- thrown, with a standard minor code of 2, if a policy for the given type was not registered viaregister_policy_factory
.- See Also:
-
set_slot
Allows an Interceptor to set a slot in thePortableInterceptor.Current
that is in the scope of the request. If data already exists in that slot, it will be overwritten.- Parameters:
id
- The id of the slot.data
- The data, in the form of an any, to store in that slot.- Throws:
InvalidSlot
- thrown if the ID does not define an allocated slot.- See Also:
-
target_is_a
Returns true if the servant is the given repository id, false if it is not.- Parameters:
id
- The caller wants to know if the servant is this repository id.- Returns:
- Is the servant the given RepositoryId?
-
add_reply_service_context
Allows Interceptors to add service contexts to the request.There is no declaration of the order of the service contexts. They may or may not appear in the order that they are added.
- Parameters:
service_context
- TheIOP.ServiceContext
to add to the reply.replace
- Indicates the behavior of this operation when a service context already exists with the given ID. If false, thenBAD_INV_ORDER
with a standard minor code of 15 is thrown. If true, then the existing service context is replaced by the new one.- Throws:
BAD_INV_ORDER
- thrown, with a standard minor code of 15, if replace is false and a service context already exists with the given ID.
-