对不起,如果我的英语不好。
我在调用我的 GWT 服务之一时遇到问题。 在客户端,我有以下错误。
[ERROR] com.google.gwt.user.client.rpc.StatusCodeException: 500 The call failed on the server; see server log for details
[ERROR] at com.google.gwt.user.client.rpc.impl.RequestCallbackAdapter.onResponseReceived(RequestCallbackAdapter.java:209)
[ERROR] at com.google.gwt.http.client.Request.fireOnResponseReceived(Request.java:287)
[ERROR] at com.google.gwt.http.client.RequestBuilder$1.onReadyStateChange(RequestBuilder.java:395)
...
不幸的是,我在服务器日志中找不到与此错误相关的任何信息。 我处于开发模式,我在码头中唯一能看到的是
[ERROR] 500 - POST /my/maping (127.0.0.1) 57 bytes
但是,我知道我的服务实现被调用并且它返回一个结果而不抛出任何异常(因为我在返回之前使用日志...)。
我已经看到这个问题可能是一个序列化问题,但我真的看不出我错过了什么让我的对象可序列化的东西,(另外,当某些东西不可序列化时,gwt 编译器通常会告诉我)。
并且我的/映射应该被很好地定义,因为它以前是工作的,而且我很确定我没有修改任何与此相关的东西......
最后,对于我的问题,我没有找到任何有趣的答案。 如果您有任何想法,在此先感谢您的帮助。
ps:我用的是gwt 2.5.0-rc2
最佳答案
此问题主要与忘记实现 isSerializable 或 Serializable 接口(interface)的类有关。还要检查该类中的所有子类是否也实现了 isSerializable 或 Serializable 接口(interface)。
然后验证所有类都有一个默认的无参数构造函数。
https://stackoverflow.com/questions/14238334/