0

从 GWT 2.4.0 升级到 2.5.0 后,只有许多(许多!)RPC 方法中的一种被破坏,我不知道为什么。这是发生的事情(和没有发生的事情):

  1. 程序获取异步服务对象并调用其方法。
  2. 由 GWT 代理对象生成的 Underyling 存在并被调用(不过我不知道它的内部结构)。
  3. 浏览器不会向服务器发送任何请求(至少 Google Chrome 中内置的开发人员工具不会显示类似的情况。另一方面......请参阅 5.)。
  4. 服务器上的实现永远不会被调用。
  5. 但是,如果我停止服务器,AsyncCallback.onFailure(Throwable)则会立即执行。

为了清楚起见,我将重复一遍:相同的代码在 GWT 2.4.0 上就像一个魅力,而其他方法(如果不是全部的话,其中大多数)即使在 2.5.0 上也能正常工作。

现在一些代码。不确定是否有必要,但是...

异步接口

public interface BrokenServiceAsync {
    public void getData(int id, State state, AsyncCallback<Data> asyncCallback);
}

State 接口(方法参数)和它的唯一实现都在外部模块中声明(添加为 jar 包)。我虽然这可能是那个问题的情况,但其他方法也在使用这些类。并且没有编译时错误。

Data包含一个 String 和一个 ArrayList 对象子类 com.extjs.gxt.ui.client.data.BaseModelData。大多数其他方法使用类似的对象并且它有效。

有任何想法吗?谢谢!

4

0 回答 0