Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 无法使gwt syncproxy正常工作_Java_Gwt_Gwt Rpc_Gwt Syncproxy - Fatal编程技术网

Java 无法使gwt syncproxy正常工作

Java 无法使gwt syncproxy正常工作,java,gwt,gwt-rpc,gwt-syncproxy,Java,Gwt,Gwt Rpc,Gwt Syncproxy,我正在尝试让一个非常简单的gwt syncproxy示例在Eclipse开发人员模式下工作。我创建了示例GWT/GAE项目,并将其命名为“testgwtrpc”。我验证了这可以发送问候语并接收服务器的响应。我创建了以下独立Java程序来调用GWT RPC SyncProxy.setBaseURL("http://127.0.0.1:8888/testgwtrpc/"); GreetingServiceAsync greetingServiceAsync = SyncProxy.c

我正在尝试让一个非常简单的gwt syncproxy示例在Eclipse开发人员模式下工作。我创建了示例GWT/GAE项目,并将其命名为“testgwtrpc”。我验证了这可以发送问候语并接收服务器的响应。我创建了以下独立Java程序来调用GWT RPC

    SyncProxy.setBaseURL("http://127.0.0.1:8888/testgwtrpc/");
    GreetingServiceAsync greetingServiceAsync = SyncProxy.create(GreetingService.class);
    greetingServiceAsync.greetServer("Hello", new AsyncCallback<String>() {

        @Override
        public void onFailure(Throwable caught) {
        }

        @Override
        public void onSuccess(String result) {
            System.out.println("From server: " +result);
        }
    });
}
看起来这应该很简单,但是,唉,它不起作用

你知道为什么吗?非常感谢您的帮助。

请检查此项

无法找到RPC策略文件GWT编译您的web应用,请确保 您的服务正在您期望的位置运行(部署与本地) 测试URL),如果使用GAE,请确保更改 appengine-web.xml,如Eclipse中的Android设置部分所述。 本质上,您需要确保.gwt.rpc文件 可从“远程”Android客户端访问

检查这个

无法找到RPC策略文件GWT编译您的web应用,请确保 您的服务正在您期望的位置运行(部署与本地) 测试URL),如果使用GAE,请确保更改 appengine-web.xml,如Eclipse中的Android设置部分所述。 本质上,您需要确保.gwt.rpc文件 可从“远程”Android客户端访问

检查这个

无法找到RPC策略文件GWT编译您的web应用,请确保 您的服务正在您期望的位置运行(部署与本地) 测试URL),如果使用GAE,请确保更改 appengine-web.xml,如Eclipse中的Android设置部分所述。 本质上,您需要确保.gwt.rpc文件 可从“远程”Android客户端访问

检查这个

无法找到RPC策略文件GWT编译您的web应用,请确保 您的服务正在您期望的位置运行(部署与本地) 测试URL),如果使用GAE,请确保更改 appengine-web.xml,如Eclipse中的Android设置部分所述。 本质上,您需要确保.gwt.rpc文件 可从“远程”Android客户端访问


确保您已经执行了GWT编译(即右键单击testgwtrpc项目,
Google->GWT编译
)。在Eclipse和Dev模式下进行测试不需要这些文件,因为它是由GWT的托管服务器系统处理的。但是独立系统和Android系统是分开的,因此需要访问GWT编译创建的文件。

确保您已经执行了GWT编译(即右键单击您的testgwtrpc项目,
Google->GWT Compile
)。在Eclipse和Dev模式下进行测试不需要这些文件,因为它是由GWT的托管服务器系统处理的。但是独立系统和Android系统是分开的,因此需要访问GWT编译创建的文件。

确保您已经执行了GWT编译(即右键单击您的testgwtrpc项目,
Google->GWT Compile
)。在Eclipse和Dev模式下进行测试不需要这些文件,因为它是由GWT的托管服务器系统处理的。但是独立系统和Android系统是分开的,因此需要访问GWT编译创建的文件。

确保您已经执行了GWT编译(即右键单击您的testgwtrpc项目,
Google->GWT Compile
)。在Eclipse和Dev模式下进行测试不需要这些文件,因为它是由GWT的托管服务器系统处理的。但是独立系统和Android系统是分开的,因此需要访问GWT编译创建的文件。

来自@JCricket和@Ahmed El-Fayomy的综合答案提供了我需要的信息,以使这项工作正常进行。非常感谢你们两位。我决定整合你的答案,以便给下一个有同样问题的人一个更完整、更清晰的答案

正如JCricket所说,您必须进行GWT编译,因为GWT syncproxy从App Engine应用程序下载多个文件,包括compilation-mappings.txt和*.GWT.rpc文件。GWT编译生成这些文件。但是,您会发现通过gwt syncproxy的RPC调用仍然失败,除非您指定给app engine以允许客户端下载*.gwt.RPC文件。这是按照Ahmed给出的链接中所述进行的。具体而言,在appengine-web.xml的“静态文件”部分中,更改:

<exclude path="**.gwt.rpc" /> to <include path="**.gwt.rpc" />
还有一件事:

从客户端应用程序调用SyncProxy.setBaseURL()时,我使用了以下URL:

其中,“testgwtrpc”是模块名,在my.gwt.xml文件中重命名


我还没有在生产模式下尝试过这个,只是在开发模式下。

来自@JCricket和@Ahmed El-Fayomy的综合答案提供了我需要的信息来让这个工作正常进行。非常感谢你们两位。我决定整合你的答案,以便给下一个有同样问题的人一个更完整、更清晰的答案

正如JCricket所说,您必须进行GWT编译,因为GWT syncproxy从App Engine应用程序下载多个文件,包括compilation-mappings.txt和*.GWT.rpc文件。GWT编译生成这些文件。但是,您会发现通过gwt syncproxy的RPC调用仍然失败,除非您指定给app engine以允许客户端下载*.gwt.RPC文件。这是按照Ahmed给出的链接中所述进行的。具体而言,在appengine-web.xml的“静态文件”部分中,更改:

<exclude path="**.gwt.rpc" /> to <include path="**.gwt.rpc" />
还有一件事:

从客户端应用程序调用SyncProxy.setBaseURL()时,我使用了以下URL:

其中,“testgwtrpc”是模块名,在my.gwt.xml文件中重命名


我还没有在生产模式下尝试过这个,只是在开发模式下。

来自@JCricket和@Ahmed El-Fayomy的综合答案提供了我需要的信息来让这个工作正常进行。非常感谢你们两位。我决定把你的答案综合起来
compilation-mappings.txt
*.nocache.js
*.cache.html
*.gwt.rpc