Overview | Invokes a method dynamically within a server. |
Original class | CORBA::BOA::DynamicImplementation |
Exceptions | This method must not throw any exceptions. Instead, exceptions should be stored on the input ServerRequest object, using the exception method. |
Intended Usage
This pure virtual method is intended to be overridden in subclasses of CORBA::BOA::DynamicImplementation. It is never called directly by applications; rather, the BOA residing in a server calls this method to dispatch remote calls on objects that inherit from CORBA::BOA::DynamicImplementation. This method is part of the Dynamic Skeleton Interface (DSI), used primarily to construct inter-ORB bridges or gateway servers.
When a remote invocation arrives at a server, if the target of the invocation is an object that inherits from CORBA::BOA::DynamicImplementation, BOA calls the invoke method on the target object. BOA constructs and passes in a ServerRequest object that contains all the information about the incoming request that is needed for the object to dispatch it. As an example, an implementation of the invoke method could do the following:
The BOA then sends the response to the calling client. If an exception is thrown by the dispatched operation, the invoke method must catch it and record it by calling ServerRequest::exception. CORBA::BOA::DynamicImplementation::invoke must never throw any exceptions.
Syntax
virtual void invoke (ServerRequest_ptr request, Environment &env) throw () = 0;
Input parameters
Return values
None.