GWT 2.4.0 から 2.5.0 にアップグレードした後、多くの (多数の!) RPC メソッドのうちの 1 つだけが壊れており、その理由がわかりません。何が起こるか (そして何が起こらないか) は次のとおりです。
- プログラムは非同期サービス オブジェクトを取得し、そのメソッドを呼び出します。
- GWT プロキシ オブジェクトによって生成された Underyling が存在し、呼び出されます (ただし、その内部構造はわかりません)。
- ブラウザーはサーバーにリクエストを送信しません (少なくとも、Google Chrome に組み込まれている開発者ツールでは、そのようなことは何も表示されません。一方、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 インターフェイス(メソッド param) とその唯一の実装の両方が外部モジュールで宣言されます (jar パッケージとして追加されます) 。これがその問題のケースである可能性があると思いましたが、他のメソッドもこれらのクラスを使用しています。また、コンパイル時エラーはありません。
データには、文字列と、com.extjs.gxt.ui.client.data.BaseModelData をサブクラス化するオブジェクトの ArrayList が含まれています。他のほとんどのメソッドは同様のオブジェクトを使用しており、機能します。
何か案は?ありがとう!