Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/307.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 IOException:来自远程api的意外响应_Java_Google App Engine - Fatal编程技术网

Java IOException:来自远程api的意外响应

Java IOException:来自远程api的意外响应,java,google-app-engine,Java,Google App Engine,我和这个人有着完全相同的问题: 但是没有人回应,我在互联网上也看不到任何有帮助的东西。有人知道为什么会这样吗 RemoteApiOptions options = new RemoteApiOptions() .server("localhost", 8888) .credentials("blah@blah.blah", ""); RemoteApiInstaller installer = new RemoteApiInstaller();

我和这个人有着完全相同的问题:

但是没有人回应,我在互联网上也看不到任何有帮助的东西。有人知道为什么会这样吗

    RemoteApiOptions options = new RemoteApiOptions()
        .server("localhost", 8888)
        .credentials("blah@blah.blah", "");
    RemoteApiInstaller installer = new RemoteApiInstaller();
    installer.install(options);
堆栈跟踪是:

Exception in thread "main" java.io.IOException: unexpected response from remote api: {rtok: null, app_id: MyCorrectAppId}

at com.google.appengine.tools.remoteapi.RemoteApiInstaller.getAppIdFromServer(RemoteApiInstaller.java:326)
at com.google.appengine.tools.remoteapi.RemoteApiInstaller.loginImpl(RemoteApiInstaller.java:278)
at com.google.appengine.tools.remoteapi.RemoteApiInstaller.login(RemoteApiInstaller.java:239)
at com.google.appengine.tools.remoteapi.RemoteApiInstaller.install(RemoteApiInstaller.java:106)
at uk.blah.blah.MyClass.main(MyClass.java:114)

我注意到您已将
设置为
MyCorrectAppId
。这就是问题所在。正如Eugene正确地指出的那样,ID必须全部是小写的,就像
mycorrectappid
。引用丹·桑德森的书:

由于应用程序ID用于域名,因此ID只能包含小写字母、数字或连字符,并且必须少于32个字符。此外,谷歌保留每个Gmail用户名作为应用程序ID,只有相应的Gmail用户才能注册

如果您在Eclipse中工作,您需要记住,在设置新的web应用程序项目时(在“new web application project”对话框的底部有一个选项,允许您指定ID,而不是将其留空)

对于一个独立的环境,我认为如果您将ID留空(它将默认为“no_app_ID”),您可能会很好


希望有帮助

根据
RemoteAPI安装程序.getAppIdFromServer
方法的说明,当响应正文中未找到
app\u id
属性时,可以引发异常
来自远程api的意外响应。在您的情况下,
MyCorrectAppId
可能与模式不匹配,即它包含除数字、小写字母、波浪号、下划线或减号以外的任何字符。

客户端是独立的Java应用程序还是应用程序引擎应用程序?我将作为独立的应用程序运行它。但它与应用程序引擎应用程序共享代码。这是应用程序ID。如果您使用的是Eclipse,我的回答可能会有所帮助。太好了,谢谢。不幸的是,我现在无法返回到出现问题的原始线程,但希望谷歌搜索将生成此页面。:-)@mjaggard感谢你接受答案和赏金。我很好奇,“原创”你是说有一条线索比你在问题中提到的更早?不,我指的是那条线索。不久前,当GAE将其支持转移到stackoverflow时,该组被关闭并成为只读。