0

我正在尝试使用 RPC 从客户端向服务器端进行调用,并且在设置 Web 应用程序时,控制台会显示错误。

com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException:此应用程序已过期,请单击浏览器上的刷新按钮。(阻止访问接口 'com.mycompany.project.client.Connection' 的尝试,这不是由 'com.mycompany.project.server.MySQLConnection' 实现的;这是错误配置或黑客尝试)

有什么解决办法吗,因为我被困在这里了。

4

2 回答 2

0

问题在于发出 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>
于 2013-11-02T00:48:38.897 回答
0

检查您的 gwt-servlet.jar 和 gwt-user.jar。看起来他们有不同的版本。

于 2013-11-01T11:48:13.867 回答