java - 错误 POLICY_NAME_POPULATION

标签 java android gwt rpc gwt-syncproxy

我们有一个 gwt Web 应用程序,现在我们正在为同一 Web 应用程序开发 Android 应用程序。在此,我们尝试使用 Web 应用程序的服务器端代码,为此我们使用 SyncProxy(通过 RPC 连接 Android 应用程序)。

我的代码是:

SyncProxy.setBaseURL("http://192.168.1.87/gwtandroidproject/");
        GreetingServiceAsync greetService = SyncProxy.create(GreetingService.class);
        CookieManager cm = ((HasProxySettings) greetService).getCookieManager();


        greetService.greetServer("123", new AsyncCallback<String>() {

            @Override
            public void onFailure(Throwable arg0) {
                // TODO Auto-generated method stub

            }

            @Override
            public void onSuccess(String arg0) {
                // TODO Auto-generated method stub
                Toast.makeText(mainActivity, arg0, 3000);
            }
        });

但异常(exception)是

09-03 15:45:52.628: E/AndroidRuntime(21080):
Caused by: com.gdevelop.gwt.syncrpc.exception.SyncProxyException: 
Error POLICY_NAME_POPULATION. Unable to populate policy names

注意:应用程序中不得使用 GAE

最佳答案

有几件事需要检查(由于您没有使用 App Engine,因此您可能需要提供本地服务器上的一些详细信息)。本质上,此错误是建议您无法访问策略文件。

  1. 通常,此异常是与次要异常一起引发的。进一步查看堆栈跟踪,查看是否有引发导致 SyncProxyException 的辅助异常。如果您在获取跟踪时遇到问题,请捕获此异常并将其包装在新抛出的 RuntimeException 中以获取完整的跟踪。
  2. 确保您的服务器是 GWT 编译的。验证 GWT 本地接口(interface)是否正常工作还不够,本地服务器路径上必须有完整的 GWT-Compile。
  3. 确保可从 Android 设备的浏览器访问该路径(“http://192.168.1.87/gwtandroidproject/ ”)。如果没有,请确保相同的网络、相同的 wifi 等
  4. 要获取更多详细信息,请激活 GSP-Android 的日志记录功能。如果您使用的是 0.5,则有一些详细信息尚未正确记录(即将发布的 0.6 版本将提供更好的记录)。为此,请执行以下操作:SyncProxy.setLoggingLevel(Level.FINER);。 0.5 版本存在一些正确日志记录问题,这些问题已在 0.6 中得到解决,但这仍然应该为您提供一些信息,特别是您想要获取“访问排列文件:”日志条目,它将告诉您正在访问哪个文件。与上一步一样,尝试直接通过浏览器访问此文件:http://192.168.1.87/gwtandroidproject/PERM_FILE

除了这些选项之外,请提供有关您正在使用的本地服务器的一些其他详细信息。我只使用 GAE 本地开发服务器进行了测试,但这些原则应该全面适用......

关于java - 错误 POLICY_NAME_POPULATION,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32372993/

相关文章:

android - RxJava Single to Completable to Single - 如何将第一个 Single 的结果传递给第二个 Single

gwt - GWTP中,Present-ChildPresenter上下文中的onBind、prepareFromRequest、revealInParent、onReveal、onReset有什么区别?很困惑

java - 为什么我在使用 Spring Cache 的服务中出现缓存未命中的情况

java - 使用 java 8 流基于另一个 List<Object2> 填充 List<Object1>

java - 让java中的扫描仪正确关闭的问题

java - 用于确定图像属性的 Android Native API(getWidth 等)返回错误值

Android 应用内购买。我可以检索标题和描述吗?

java - 如何使用 GWT Autobeans 处理动态 JSON 数据?

java - GWT : How to call SERVLET FROM GWT_SERVLET and How to return value from target servlet to source servlet?

java - 为什么对象类中有公共(public)方法?他们可以受到保护,并且会以更私密的方式保持相同的行为