2016-07-04 30 views
0

我們有一個GWT控制器。處理此調用時引發了IncompatibleRemoteServiceException。 GWT

@RemoteServiceRelativePath("xcontroller") 
public interface MobileController extends RemoteService { 
    WaterUtilityUserDataset getWaterUtilityUserDataset(String p_SearchText, 
     int p_PageSize, int p_CurrentPage); 
} 

和接口MobileControllerAsync其中redeclares在MobileController的方法。

public interface MobileControllerAsync { 
    void getWaterUtilityUserDataset(String p_SearchText, int p_PageSize, 
     int p_CurrentPage, AsyncCallback<WaterUtilityUserDataset> callback); 
} 

MobileControllerImpl實現MobileController

public class MobileControllerImpl extends RemoteServiceServlet implements 
    MobileController { 
    @Override 
    public WaterUtilityUserDataset getWaterUtilityUserDataset(String p_SearchText, 
     int p_PageSize, int p_CurrentPage) { 
     // TODO Auto-generated method stub 
     return AppSwitch.getWaterUtilityUserDataset(p_SearchText, p_PageSize, 
      p_CurrentPage); 
    } 
} 

A MobileControllerMgr存在將異步調用轉換爲同步調用。

public class MobileControllerMgr { 
    private static final MobileControllerAsync controller = GWT 
     .create(MobileController.class); 
    public static void getWaterUtilityUserDataset(String l_searchText, 
     int m_ResultSize, int currentpage, 
     AsyncCallback<WaterUtilityUserDataset> callback) { 
      controller.getWaterUtilityUserDataset(l_searchText, m_ResultSize, 
      currentpage, callback); 
    } 

客戶端代碼調用此方法MobileControllerMgr

MobileControllerMgr.getWaterUtilityUserDataset(
      l_searchText, 
      m_ResultSize, 
      1, 
      getcallbackWaterUtilityUserList(p_uiList, p_uiListScroll, 
        p_uiPaginate, p_uiWait) 
    ); 

回調報告錯誤。以下是從日誌中檢索到的:

Starting Jetty on port 8888 
    [WARN] xcontroller: An IncompatibleRemoteServiceException was thrown while processing this call. 
com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException: This application is out of date, please click the refresh button on your browser. (Could not locate requested method 'getWaterUtilityUserDataset(java.lang.String, int, int)' in interface 'com.nirvasoft.rpmini.client.controller.mobilebanking.MobileController') 
    at com.google.gwt.user.server.rpc.RPC.decodeRequest(RPC.java:319) 
    at com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:206) 
    at com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:248) 
    at com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java:62) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:637) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 
    at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487) 
    at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:362) 
    at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) 
    at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181) 
    at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:729) 
    at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405) 
    at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) 
    at org.mortbay.jetty.handler.RequestLogHandler.handle(RequestLogHandler.java:49) 
    at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) 
    at org.mortbay.jetty.Server.handle(Server.java:324) 
    at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505) 
    at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:843) 
    at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:647) 
    at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211) 
    at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380) 
    at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395) 
    at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:488) 

這裏可能有什麼問題?

回答

1

您所看到的例外解釋了什麼是錯的:

這個應用程序是過時的,請點擊 瀏覽器的刷新按鈕。

當瀏覽器中的代碼與服務器上的代碼不同時,會發生這種情況。

相關問題