几个月以来,我一直在 google appengine 上为我的 Android 应用程序开发后端。直到昨天一切都运转良好。 我在过去 2 个月内没有生成端点,但是当我昨天尝试这样做时,出现了错误。
这就是场景。
- 在 Android IDE (Eclipse 4.2) 中,我单击“生成云端点” 客户端库”。
- 我必须等待很长时间......
- 出现错误(我将在下面粘贴堆栈跟踪)。
预期输出 -> 一切正常,我的 Android 项目中的新端点库。
实际输出 ->(下面的堆栈跟踪)。
我正在使用 Ubuntu 13.04 64 位的机器上工作。 我尝试过3个不同版本的appengine sdk(1.9.2,1.9.3,1.9.4)
报告的问题是这个:
> com.google.appengine.repackaged.com.google.api.client.http.HttpResponseException: 400 Bad Request
{"error": {"message": "Bad Request", "code": 400, "errors": [{"message": "api exception", "debug_info": "Cannot decode JSON Schema for: {u'parameterName': u'resource'}"}]}} *AppName*-AppEngine Unknown Google App Engine Cloud Endpoints Problem Marker
堆栈跟踪是这样的:
> java.lang.reflect.InvocationTargetException
at com.google.gdt.eclipse.appengine.swarm.wizards.GenerateSwarmApiAction$1.run(GenerateSwarmApiAction.java:82)
at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121)
Caused by: com.google.gdt.eclipse.appengine.swarm.wizards.helpers.SwarmGenerationException: com.google.appengine.repackaged.com.google.api.client.http.HttpResponseException: 400 Bad Request
{"error": {"message": "Bad Request", "code": 400, "errors": [{"message": "api exception", "debug_info": "Cannot decode JSON Schema for: {u'parameterName': u'resource'}"}]}}
at com.google.gdt.eclipse.appengine.swarm.wizards.helpers.SwarmApiCreator.createClientLibFromApiConfig(SwarmApiCreator.java:144)
at com.google.gdt.eclipse.appengine.swarm.wizards.helpers.SwarmApiCreator.createSwarmApi(SwarmApiCreator.java:258)
at com.google.gdt.eclipse.appengine.swarm.wizards.helpers.SwarmServiceCreator.create(SwarmServiceCreator.java:444)
at com.google.gdt.eclipse.appengine.swarm.wizards.GenerateSwarmApiAction$1.run(GenerateSwarmApiAction.java:80)
... 1 more
Caused by: com.google.appengine.repackaged.com.google.api.client.http.HttpResponseException: 400 Bad Request
{"error": {"message": "Bad Request", "code": 400, "errors": [{"message": "api exception", "debug_info": "Cannot decode JSON Schema for: {u'parameterName': u'resource'}"}]}}
at com.google.appengine.repackaged.com.google.api.client.http.HttpRequest.execute(HttpRequest.java:1054)
at com.google.api.server.spi.tools.CloudClientLibGenerator.postRequest(CloudClientLibGenerator.java:53)
at com.google.api.server.spi.tools.CloudClientLibGenerator.generateClientLib(CloudClientLibGenerator.java:44)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at com.google.gdt.eclipse.appengine.swarm.wizards.helpers.SwarmApiCreator.createClientLibFromApiConfig(SwarmApiCreator.java:142)
... 4 more
我曾多次尝试清理和构建项目,并在新构建之前手动删除旧的 *.api *.discovery 文件,但似乎没有任何效果。
你能帮我一下吗?谢谢
最佳答案
最后我的问题解决了。
错误发生在端点之一的方法中,该方法将 a 作为参数
com.google.appengine.api.datastore.Blob
为了找到问题,我手动(从终端)执行了云端点库的创建,能够看到一些更详细的输出行,从而找出出现问题的端点。 (要了解如何执行此操作,请阅读“使用端点.sh 为 Android 生成客户端库”部分 there )
关于java - 为 Cloud Endpoints 类生成 API 元数据失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23568970/