## Package com.google.gwt.user.server.rpc

Classes used in server-side implementation of remote procedure calls.

See:
Description

Interface Summary
SerializationPolicyProvider | Used to obtain a `SerializationPolicy` for a given module base URL and serialization policy strong name.

Class Summary
RemoteServiceServlet | The servlet base class for your RPC service implementations that automatically deserializes incoming requests from the client and serializes outgoing responses for client/server RPCs.
RPC | Utility class for integrating with the RPC system.
RPCRequest | Describes an incoming RPC request in terms of a resolved `Method` and an array of arguments.
RPCServletUtils | Utility class containing helper methods used by servlets that integrate with the RPC system.
SerializationPolicy | This is an abstract class for representing the serialization policy for a given module and `RemoteService`.
SerializationPolicyLoader | API for loading a `SerializationPolicy`.

Exception Summary
UnexpectedException | The GWT RPC class throws UnexpectedException when a service method, being invoked by GWT RPC, throws a checked exception that is not in the service method's signature.

## Package com.google.gwt.user.server.rpc Description

Classes used in server-side implementation of remote procedure calls.

The `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 `RemoteServiceServlet.processCall(String)` method.)

Alternatively, GWT RPC can be integrated into an existing framework, by using the `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.

Note that the default RemoteServiceServlet implementation never throws exceptions to the servlet container. All exceptions that escape the the `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 `RemoteServiceServlet.doUnexpectedFailure(java.lang.Throwable)`.