在GWT应用程序中,我有RPC接口。一些方法工作正常(即RemoeServiceServlet
配置正常),但是当我尝试调用另一个方法时,它总是以onFailure()
方法失败。 Ajax调用也不会发生(我可以看到它使用FireBug,也不会发生服务器端方法调用),但此服务的另一种方法也执行Ajax调用。
当我尝试使用e.getMessage()
记录错误时,我收到“undefined”消息。我还尝试使用try-catch
包装RPC调用代码 - 没有错误消息。
这个问题可以与GWT-RPC序列化相关吗?
编辑: Opera Dragonfly在生成的JavaScript中使用以下方法显示错误(使用PRETTY模式编译):
function $check(this$static, typeSignature){
if (isNull($get_3(this$static.methodMapNative, typeSignature))) {
Unhandled Object: undefined
throw new SerializationException_1(typeSignature);
}
}
带有错误消息
未处理的对象:未定义
答案 0 :(得分:1)
我猜你有序列化问题,请记住Java序列化与GWT序列化不一样。
使用RPC时,序列化错误通常没有有意义的错误消息。
有关详细信息,请参阅: GWT Serialization
要尝试的另一件事: 当从eclipse-plugin运行GWT时,会创建eclipse项目中的一个文件夹(我相信它的名为gwt-unitCache)。有时我自己的GWT项目生病并输出奇怪的异常,我可以通过删除文件夹并再次运行项目来解决这个问题。