blob: ceed1571f3037eafc2c5a4eb2f4418515ffc2e89 [file] [log] [blame]
<html>
<body>
Classes used in server-side implementation of remote procedure calls.
<p>
The {@link com.google.gwt.user.server.rpc.RemoteServiceServlet RemoteServiceServlet}
class provides the most convenient implementation
of server-side GWT RPC. This class can be used in two ways: it can be
subclassed by servlets that directly implement one or more service
interfaces, in which case incoming RPC calls will be directed to the
servlet subclass itself; or it can be overridden to give finer control over
routing RPC calls within a server framework. (For more details on the
latter, see the {@link com.google.gwt.user.server.rpc.RemoteServiceServlet#processCall(String) RemoteServiceServlet.processCall(String)} method.)
</p>
<p>
Alternatively, GWT RPC can be integrated into an existing framework, by using
the {@link com.google.gwt.user.server.rpc.RPC RPC} class to perform GWT
RPC decoding, invocation, and encoding. RemoteServiceServlet need not
be subclassed at all in this case, though reading its source is advisable.
</p>
<p>
Note that the default RemoteServiceServlet implementation never throws
exceptions to the servlet container. All exceptions that escape the the
{@link com.google.gwt.user.server.rpc.RemoteServiceServlet#processCall(String) RemoteServiceServlet.processCall(String)}
method will be caught, logged in the servlet context, and will cause a generic
failure message to be sent to the GWT client -- with a 500 status code. To
customize this behavior, override
{@link com.google.gwt.user.server.rpc.RemoteServiceServlet#doUnexpectedFailure(java.lang.Throwable) RemoteServiceServlet.doUnexpectedFailure(java.lang.Throwable)}.
</p>
</body>
</html>