2012-04-15 90 views
1

我创建了一个RPC服务,它在appengine共享文件夹中创建了一个SportsLeagueAndroidRequest。当我正在尽我的项目它显示了一个错误错误gwt-rpc

[错误] [sportsleagueandroid] - 递延结合的结果类型“edu.columbia.sportsleagueandroid.shared.SportsLeagueAndroidRequest”不应该是抽象的

SportsLeagueAndroidRequest是一个接口在创建RPC服务时自动生成!

我该如何删除此错误?

final EventBus eventBus = new SimpleEventBus(); 

final MyRequestFactory requestFactory = GWT.create(SportsLeagueAndroidRequest.class); 
requestFactory.initialize(eventBus); 

sendMessageButton.addClickHandler(new ClickHandler() 
{ 
public void onClick(ClickEvent event) 
{ 
    //String recipient = recipientArea.getValue(); 
    //String receivers[] = recipient.split(","); 
    String message = messageArea.getValue(); 
    // setStatus("Connecting...", false); 
    sendMessageButton.setEnabled(false); 
    sendNewTaskToServer(message); 
} 
private void sendNewTaskToServer(String message) { 
    SportsLeagueAndroidRequest request = requestFactory.sportsLeagueAndroidRequest(); 
    StadiumProxy task = request.create(StadiumProxy.class); 
+0

发布您的代码。 – 2012-04-15 22:12:25

+0

这与https://developers.google.com/eclipse/docs/appeng_android_add_rpc#add_data中的行相同 – 2012-04-15 22:39:29

回答

1
final MyRequestFactory requestFactory = GWT.create(SportsLeagueAndroidRequest.class); 

您在RequestContext调用GWT.create。它需要调用RequestFactory,如here所述。

您需要创建一个接口,该接口扩展为RequestFactory,如我链接到的示例中所示。如果你看看你的sendNewTaskToServer方法,你实际上是从SportsLeagueAndroidRequest呼叫sportsLeagueAndroidRequest()。看到?您应该从您以前使用GWT.create创建的RequestFactory界面呼叫sportsLeagueAndroidRequest()

的RequestFactory生命周期看起来是这样的:使用myRequestFactory.myRequestContext()

  • 消防请求

    1. 创建一个新的RequestFactory使用GWT.create(MyRequestFactory.class)
    2. 创建一个RequestContext,使用myRequestContext().myDomainMethod().fire()