簡體   English   中英

SmartGwt RPC服務(com.server.GreetingServiceImpl類型沒有源代碼;您忘記了繼承必需的模塊嗎?)

[英]SmartGwt RPC service (No source code is available for type com.server.GreetingServiceImpl; did you forget to inherit a required module?)

嘗試訪問服務器端的GreetingServiceImpl類並嘗試在客戶端中使用其功能時遇到錯誤。

錯誤:com.demo1.server.GreetingServiceImpl類型沒有源代碼。 您忘了繼承必需的模塊嗎?

這是GreetingServiceImpl:

公共類GreetingServiceImpl擴展了RemoteServiceServlet實現GreetingService {

public LinkedList<String> greetServer() throws IllegalArgumentException {
    // Verify that the input is valid.

    LinkedList<String> list = new LinkedList<String>();

    try {
        File file = getLog();
        Parse parse = new Parse(file);
        list = parse.callControlRequest();

    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

    return list;
}

public File getLog() throws IOException {
   //doing something
}

}

我正在嘗試像這樣在客戶端中使用它:

GreetingServiceImpl resultList = new GreetingServiceImpl(); //這是我出錯的地方

greetingService.greetServer(new AsyncCallback>(){

        @Override
        public void onFailure(Throwable caught) {
            // TODO Auto-generated method stub
            dialogBox
            .setText("Remote Procedure Call - Failure");
    dialogBox.center();

        }

        @Override
        public void onSuccess(LinkedList<String> result) {

            result=resultList.greetServer(); // this is where I am trying to get the output of it
        }
    });;
}

您不能在客戶端使用服務器端的類。 要使用GreetingService,您應該實例化它的異步部分:

GreetingServiceAsync greetingService = GWT.create(GreetingService.class);

那么您可以使用GreetingService變量來調用GreetingServiceImpl中的方法-您不能在客戶端直接使用或引用GreetingServiceImpl,因此

GreetingServiceImpl resultList = new GreetingServiceImpl(); 

是非法的-將其刪除。

您還可以生成默認的gwt應用程序,並查看它的完成方式,或者查看gwt庫隨附的DynaTable示例:gwt-dir / samples / DynaTable。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM