3.2.5.1.4 Dispatching the Call

This section defines the mechanism to invoke the Remote Method implementation targeted for the Server Object that was bound to the Server Object URI as specified in Binding to Server Object (section 3.2.5.1.2) using the values de-serialized from the message content.

The Server Type or Server Interface de-serialized from the message content has to fulfill one of the following conditions:

  • The Remoting Type of the Server Object is the Server Type.

  • The Remoting Type of the Server Object is a derived Class of the Server Type.

  • The Remoting Type of the Server Object implements the Server Interface.

If none of the above conditions is true, then a RemotingException MUST be constructed as specified in Constructing a Remoting Exception (section 3.2.5.1.7.2) and the Exception MUST be sent back to the client.

An implementation of this protocol MAY use this information in an implementation-specific way to bind to the Remote Method implementation. An implementation MAY also perform integrity checks of this information in an implementation-specific way. If any error is encountered in this process, then a RemotingException MUST be constructed as specified in the Constructing a Remoting Exception (section 3.2.5.1.7.2) and the Exception MUST be sent back to the client.<43>

An implementation of the protocol MUST invoke the Remote Method targeted for the Server Object with the Input Arguments and CallContext got by de-serialization as specified in De-Serializing the Message Content (section 3.2.5.1.3).<44>