“com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException”出现在控制台上
Posted
技术标签:
【中文标题】“com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException”出现在控制台上【英文标题】:"com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException" Appearing on Console 【发布时间】:2013-11-01 07:02:58 【问题描述】:我正在尝试使用 RPC 从客户端调用服务器端,并且在设置 Web 应用程序时,控制台会显示错误。
com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException:此应用程序已过期,请单击浏览器上的刷新按钮。 (阻止访问接口 'com.mycompany.project.client.Connection' 的尝试,这不是由 'com.mycompany.project.server.mysqlConnection' 实现的;这是错误配置或黑客尝试)
是否有任何解决方案,因为我很困在这里。
【问题讨论】:
【参考方案1】:检查您的 gwt-servlet.jar 和 gwt-user.jar。看起来他们有不同的版本。
【讨论】:
我可以澄清一下这两个 jar 文件都可以在我添加为外部 jar 的参考库中找到。在那种情况下,我如何检查每个 jar 文件的版本?【参考方案2】:问题在于发出 RPC 请求的客户端代码与服务器代码的版本不同。您可以通过清除浏览器上的缓存并强制它重新加载页面上的所有资源来恢复。
如果没有,这是我为彻底清理您的项目而编写的一个 ant 脚本。我在所有项目中都使用它。修改它以匹配您的项目,运行它,然后运行 Project > Clean... 然后执行 Java compile,然后执行 GWT compile。清除浏览器缓存,看看之后是否还有问题。
<?xml version="1.0" encoding="utf-8" ?>
<project name="YOUR_PROJECT_NAME_HERE" default="clean" basedir=".">
<target name="clean" description="Cleans this project">
<!-- <delete dir="war/common" failonerror="false" /> -->
<!-- <delete dir="war/gwt" failonerror="false" /> -->
<!-- add more delete tags for whatever modules you may have, just like above -->
<delete dir="gwt-unitCache" failonerror="false" />
<delete dir="war/WEB-INF/classes" failonerror="false" />
<delete dir="war/WEB-INF/deploy" failonerror="false" />
<delete>
<fileset dir="." includes="*.war" />
</delete>
</target>
</project>
【讨论】:
我已经完成了您所提到的所有上述操作,但仍然会弹出相同的错误。顺便说一句,我的 war/Web-Inf 文件不包含名为“classes”的子文件夹,这正常吗? 至于你写的XML我想问一下是否放在clean.xml
的文件中。右键单击它,运行方式 > Ant 构建。 WEB-INF/classes
目录存在,但 Eclipse 没有显示它,因为它被设置为项目的“输出”文件夹。很遗憾听到它不起作用。您还可以在 Eclipse 中检查您的“问题”透视图,看看它是否显示任何 GWT SDK 版本问题?
目前,经过一些修改,我的错误现在变成了这个***.com/questions/19746360/…
@ZhenLiang 好的,我会帮你的。以上是关于“com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException”出现在控制台上的主要内容,如果未能解决你的问题,请参考以下文章