抱歉,如果我的英语不好。
我在调用我的一个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。
答案 0 :(得分:8)
此问题主要与忘记实现isSerializable或Serializable接口的类有关。另外检查该类中的所有子类是否也实现了isSerializable或Serializable接口。
然后验证所有类都有默认的无参数构造函数。
答案 1 :(得分:0)
如果您正在使用JPA并且类关系设置不正确,则会抛出一般500而没有特定的错误消息