我们有一个gwt Web应用程序,现在我们正在为同一个Web应用程序开发android应用程序。在这里我们尝试使用Web应用程序的服务器端代码,为此我们使用 SyncProxy (将android应用程序与RPC连接)。
我的代码是:
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);
}
});
但例外是
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
答案 0 :(得分:1)
要检查的事项(因为您不使用App Engine,您可能需要在本地服务器上提供一些详细信息)。从本质上讲,此错误建议您无法访问策略文件。
SyncProxy.setLoggingLevel(Level.FINER);
。 0.5版本在0.6中已经解决了正确日志记录的一些问题,但是这仍然会给你一些信息,特别是你想获得&#34;访问置换文件:&#34;日志条目,它将告诉您正在访问哪个文件。与上一步一样,尝试直接通过浏览器访问此文件:http://192.168.1.87/gwtandroidproject/PERM_FILE 除了这些选项之外,请在您使用的本地服务器上提供一些其他详细信息。我只使用GAE本地开发服务器测试过,但原则应该全面适用......