Invokes a remote method.
A remote method invocation consists of three steps:
- Marshall the representation for the method and parameters.
- Communicate the method invocation to the host and unmarshall the
return value or exception returned.
- Return the result of the method invocation to the caller.
The remote method invoked on the card can throw an exception to
signal that an unexpected condition has been detected.
If the exception thrown on the card is an exception defined in
the Java Card 2.2 API, then the same exception is thrown to the
stub method. The client can access the reason code associated
with Java Card-specific exceptions using the standard
getReason()
method.
If the exception thrown on the card is a subclass of an exception
defined in the Java Card 2.2 API, then the closest exception defined
in the API (along with the reason code, if applicable) is
thrown to the stub method. The detail message string of the
exception object may indicate that exception subclass was thrown
on the card.
Apart from the exceptions thrown by the remote method itself,
errors during communication, marshalling, protocol handling,
unmarshalling, stub object instantiation, and so on, related
to the JCRMI method invocation, results in a
RemoteException
being thrown to the stub method.
return connection.invoke(this, method, params);