GWT RPC 未生成正确的 gwt.rpc 文件

Posted

技术标签:

【中文标题】GWT RPC 未生成正确的 gwt.rpc 文件【英文标题】:GWT RPC not generating a proper gwt.rpc file 【发布时间】:2012-08-22 15:49:18 【问题描述】:

我将 gwt 与 gwt-platform 一起使用,并使用调度异步进行服务器调用。我遇到的问题是我正在使用的操作没有被标记为可序列化或被添加到 *.gwt.rpc 文件中。当我的代码运行时,我得到一个

com.google.gwt.user.client.rpc.SerializationException 在 com.google.gwt.user.client.rpc.impl.SerializerBase.getTypeHandler(SerializerBase.java:153) 在 com.google.gwt.user.client.rpc.impl.SerializerBase.serialize(SerializerBase.java:125) 在 com.google.gwt.user.client.rpc.impl.ClientSerializationStreamWriter.serialize(ClientSerializationStreamWriter.java:183) 在 com.google.gwt.user.client.rpc.impl.AbstractSerializationStreamWriter.writeObject(AbstractSerializationStreamWriter.java:126) 在 com.gwtplatform.dispatch.shared.DispatchService_Proxy.execute(DispatchService_Proxy.java:33) 在 com.gwtplatform.dispatch.client.DefaultDispatchAsync.serviceExecute(DefaultDispatchAsync.java:126) 在 com.gwtplatform.dispatch.client.DefaultDispatchAsync.execute(DefaultDispatchAsync.java:...

行动:

public class FindCallsWithFilterAction extends UnsecuredActionImpl<FindCallsWithFilterResult> 

public FindCallsWithFilterAction() 



public Date getAfter() 
    return after;

public Date getBefore() 
    return before;

public Long getReferenceNumber() 
    return referenceNumber;

public String getUser() 
    return user;


public void setAfter(Date after) 
    this.after = after;

public void setBefore(Date before) 
    this.before = before;

public void setReferenceNumber(Long referenceNumber) 
    this.referenceNumber = referenceNumber;

public void setUser(String user) 
    this.user = user;


public boolean hasAfter()
    return null != after;

public boolean hasBefore()
    return null != before;

public boolean hasReferenceNumber()
    return null != referenceNumber;

public boolean hasUser()
    return null != user;



private Date after = null;
private Date before = null;
private Long referenceNumber = null;
private String user = null;

动作有结果和处理程序,处理程序绑定在我的服务器模块中。当我调试代码并查看 gwt 生成此操作的序列化映射时,尽管它实现了 isSerializable 接口,但它的结果不存在事件(在超类中,如果我在此使用 Serializable 或 isSerializable 它仍然不起作用水平)。此外,当我查看我的 *.gwt.rpc 文件时,该类也不在其中。我只是被困住了,希望有人知道该怎么做或出了什么问题。

更新:我不知道它是否相关,但我在服务器上使用 spring。

【问题讨论】:

***.com/questions/6604106/… ***.com/questions/11516675/… 【参考方案1】:

我发现了我的问题。我忘记了 Result 对象中的无参数构造函数,而且我正在使用 Builder 来创建我的操作,并且由于某种原因,一旦我停止使用 Builder 模式就会导致序列化问题,一切运行顺利。

【讨论】:

以上是关于GWT RPC 未生成正确的 gwt.rpc 文件的主要内容,如果未能解决你的问题,请参考以下文章

未找到 GWT RPC 服务

GWT RPC“未找到 404”错误。如何让 RPC 在您自己的 Apache 服务器上工作?

GWT RPC 回调未在 onModuleLoad 中执行

真的很奇怪 GWT RPC 行为 + 显示

GWT RPC 调用在编译模式下不起作用

创建 GWT RPC 服务