org.omg.CORBA.portable
Interface InvokeHandler
- All Known Subinterfaces:
- Tie
All Known Implementing Classes
- BindingIteratorPOA, NamingContextExtPOA, NamingContextPOA, ServantActivatorPOA, ServantLocatorPOA
- public interface InvokeHandler
This interface provides a dispatching mechanism for an incoming call. It is invoked by the ORB to dispatch a request to a servant.
Method Summary
OutputStream _invoke(String method, InputStream input, ResponseHandler handler)
Invoked by the ORB to dispatch a request to the servant.
Method Detail
_invoke
public OutputStream _invoke(String method, InputStream input, ResponseHandler handler) throws SystemException
- Invoked by the ORB to dispatch a request to the servant. ORB passes the method name, an InputStream containing the marshalled arguments, and a ResponseHandler which the servant uses to construct a proper reply. Only CORBA SystemException may be thrown by this method. The method must return an OutputStream created by the ResponseHandler which contains the marshalled reply. A servant must not retain a reference to the ResponseHandler beyond the lifetime of a method invocation. Servant behaviour is defined as follows:
1. Determine correct method, and unmarshal parameters from InputStream.
2. Invoke method implementation.
3. If no user exception, create a normal reply using ResponseHandler.
4. If user exception occurred, create exception reply using ResponseHandler.
5. Marshal reply into OutputStream returned by ResponseHandler.
6. Return OutputStream to ORB.
- Parameters:
- method - The method name.
- input - The InputStream containing the marshalled arguments.
- handler - The ResponseHandler which the servant uses to construct a proper reply
- Returns:
- The OutputStream created by the ResponseHandler which contains the marshalled reply
- Throws:
- SystemException - is thrown when invocation fails due to a CORBA system exception.