我有一个 GWT 应用程序,它对 RemoteService 进行常规 RPC 调用,其方法可能会引发 ServiceException:
public class ServiceException extends Exception implements java.io.Serializable {
private static final long serialVersionUID = 1L;
public ServiceException() {}
public ServiceException(final Throwable cause) {
super(cause);
}
public ServiceException(final String errorMsg) {
super(errorMsg);
}
}
这在开发模式下工作得非常好,我在 onFailure 异步回调中获得预期的异常消息,但是当我编译应用程序并将其部署到 tomcat 时,我的异常被转换为
com.google.gwt.user.client.rpc.StatusCodeException: 500 The call failed on the server; see server log for details
就像在开发模式下一样,我的服务器日志显示了我在抛出 ServiceException 之前记录自己的预期异常原因。
我在谷歌上查过这个,但找不到任何相关的东西。
(我正在使用 GWT 2.4、java 1.6 和 Tomcat 7.0.16 开发 Mac OS X Lion)