When something goes wrong on the server, GWT returns a StatusCodeException to the client. It doesn't propagate the exception that occurred on the server side, unless you explicitly declare it.
So how do you find out what went wrong? In your RemoteService implementation, override the method doUnexpectedFailure() and log the exception. GWT calls this method just before returning to the client.
@Override
protected void doUnexpectedFailure(Throwable e)
{
LOGGER.error(e, "Unexpected Failure while processing Request");
}
--Sri