Using CORBA Request-Level Interceptors
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Is called by the client-side ORB anytime the client application sends an invocation to a target object.
virtual Interceptors::InvokeReturnStatus
client_invoke(
const RequestContext & request_context,
ServiceContextList_ptr service_context,
CORBA::DataInputStream_ptr request_arg_stream,
CORBA::DataOutputStream_ptr reply_arg_stream,
CORBA::Exception_ptr & excep_val ) = 0;
A reference to a RequestContext that contains information about the context in which the request is being performed.
A pointer to a ServiceContextList
containing service context information to be sent as part of the request to the target object.
Note: In BEA Tuxedo 8.0, the value of this parameter is always a nil object.
A pointer to a DataInputStream
that can be used by the interceptor implementation to retrieve the value of the parameter of the operation.
The DataInputStream
contains all in
and inout
parameters, in the order in which they are specified in the operation's IDL definition, from left to right. A nil DataInputStream
indicates that no arguments exist.
A pointer to a CORBA::DataOutputStream
that can be used to populate the parameters to be returned to the initiator of the invocation as a reply. The use of this parameter is only valid if a status of REPLY_NO_EXCEPTION
is returned.
Note: In BEA Tuxedo 8.0, the value of this parameter is always a nil object.
The client_invoke
operation is called on an interceptor implementation that supports the RequestLevelInterceptor::ClientRequestInterceptor
interceptor interface. The operation is called by the ORB anytime that an invocation is being sent to a target object, regardless of whether the target object is in a different address space or the same address space as the target object.
Indicates that the interceptor successfully performed any processing required and that the ORB should continue processing the invocation in order to deliver it to the target object.
Indicates that the interceptor successfully performed any processing required to totally satisfy the request. The ORB should consider the request completed and begins processing any information in the reply_arg_stream
, if any, as the return parameter values for the request.
Note: In BEA Tuxedo 8.0, an interceptor cannot return this status value.
Indicates that the interceptor encountered an error that should result in the discontinued processing of the request toward the target. The parameter excep_val
is used to report the exception to the ORB. The ORB calls interceptors on the way back to the client application with the exception_occurred
operation rather than with the client_response
operation. Note that the ORB is responsible for the memory management for the excep_val
parameter.
![]() ![]() |
![]() |
![]() |