我已經通過Eclipse插件創建了一個新的GWT項目 - 並試圖調用這個服務器端函數。我刪除了使用生成的代碼創建的初始「問候」函數 - 並將其替換爲另一個函數「QueryResponse search(QueryRequest query)」。但是,當客戶端調用函數時出現此錯誤。雖然產生的樣本「打招呼」的功能正在從某處GWT SDK中調用幫助如何解決GWT中的IncompatibleRemoteServiceException?
Starting Jetty on port 8888
[WARN] greetServlet: 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 'greetServer(com.myproject.shared.QueryRequest)' in interface 'com.myproject.client.GreetingService')
at com.google.gwt.user.server.rpc.RPC.decodeRequest(RPC.java:310)
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)
編輯:!這裏的和有趣的觀察我今天做的時候調用將不會觸發該錯誤不顯示。這個調用是在提交表單時進行的,今天我嘗試刪除表單提交部分,並在onmodule加載函數被調用時進行調用 - 並且它工作正常。服務器。但是,當我將它放回到表單提交事件中時,就會顯示此錯誤。不僅如此 - 每當提交表單時都會顯示此錯誤 - 是否觸發服務器調用。如果您提交表單一次,則會顯示錯誤。第一個錯誤後,即使您嘗試刷新頁面,也會顯示該錯誤。
您是否在'Async'界面中重命名了該方法?請記住,所有的RPC方法都是在客戶端和服務器端定義的。 – jensgram 2013-05-02 09:07:36
是的,我做了:如果你沒有,Eclipse拋出錯誤。這裏是:void search(QueryRequest query,AsyncCallback callback); –
EternallyCurious
2013-05-02 09:10:50
您是否(重新)在做出更改後啓動DevMode *? *在做出更改後是否重新加載了瀏覽器?你在DevMode中運行嗎? (在你的URL中有'?gwt.codesvr = 127.0.0.1:9997') – 2013-05-02 09:21:53