1

以下は、アプリケーションの EntryPoint クラスにある場合は機能しますが、別の場所に移動した場合は機能しません。

public MyServiceAsync service = GWT.create(MyService.class);

service.someFunction(callback);

それ自体は例外をスローしないようですが、アプリケーションは、サービス呼び出しからのデータでインスタンス化されるはずのオブジェクトを探すときに、NullPointerException でクラッシュします。デバッガーで追跡しようとしましたが、サーバー側のコードやコールバックに到達することさえありません。

何か不足していますか?すべてのサービス コールを EntryPoint クラスからディスパッチする必要はありません。

4

1 に答える 1

0

この問題は解決されましたか? そうでない場合は、発生しているエラーを再現する最小限のコード サンプルを提供できますか?

ルークは次のように書いています。

サービス呼び出しからのデータでインスタンス化されるはずだったオブジェクトを探すときの NullPointerException

これは、RPC 呼び出しの非同期性を考慮していないように思えます。これらのオブジェクトは、呼び出しが戻るまでインスタンス化されません。サービス呼び出しに続くコードでそれらを使用しようとしている場合、それは機能しません。コールバックの onSuccess() メソッドを使用して、呼び出しの結果を利用できることに依存する何かを行う必要があります。

最初の説明の情報に基づいて推測しているだけです。可能であればサンプルを含め、より詳細な情報を提供すると、より明確な回答を提供しやすくなります。

于 2010-12-03T19:32:13.383 に答える