GWT RPC在入口点类之外失败

GWT RPC在入口点类之外失败,gwt,gwt-rpc,Gwt,Gwt Rpc,当它位于我的应用程序的EntryPoint类中时,下面的代码就起作用了,但当它移动到其他地方时就不起作用了 public MyServiceAsync service = GWT.create(MyService.class); service.someFunction(callback); 它本身似乎没有抛出异常,但当应用程序查找应该使用服务调用中的数据实例化的对象时,它会在NullPointerException上崩溃。我试着通过调试器跟踪它,但它甚至从未进入服务器端代码或回调 我错过什

当它位于我的应用程序的EntryPoint类中时,下面的代码就起作用了,但当它移动到其他地方时就不起作用了

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

service.someFunction(callback);
它本身似乎没有抛出异常,但当应用程序查找应该使用服务调用中的数据实例化的对象时,它会在NullPointerException上崩溃。我试着通过调试器跟踪它,但它甚至从未进入服务器端代码或回调


我错过什么了吗?我希望我的所有服务调用都不需要从EntryPoint类调度。

这个问题解决了吗?如果没有,你能提供一个最小的代码样本来重现你得到的错误吗

卢克写道:

当它查找应该使用服务调用中的数据实例化的对象时,出现NullPointerException

听起来您可能没有考虑RPC调用的异步性质。在调用返回之前,不会实例化这些对象。如果您试图在服务调用之后的代码中使用它们,那么这是行不通的。您需要使用回调函数的onSuccess()方法来执行任何依赖于调用结果可用性的操作


我只是根据你最初描述中的信息猜测而已。更多的细节,如果可能的话,包括一个示例,将更容易提供更明确的答案。

您已经验证了在服务器包下有一个MyService的实现,对吗?是的,当从EntryPoint类实例化和调用该服务时,该服务已完全实现,工作正常。只有在从其他类执行此操作时才会失败。我猜:-只需确保您的GWT.create()调用位于客户端包(或客户端中的子包)下,它仍然位于客户端包下