java - 为 Cloud Endpoints 类生成 API 元数据失败

标签 java android eclipse google-app-engine google-cloud-endpoints

几个月以来,我一直在 google appengine 上为我的 Android 应用程序开发后端。直到昨天一切都运转良好。 我在过去 2 个月内没有生成端点,但是当我昨天尝试这样做时,出现了错误。

这就是场景。

  1. 在 Android IDE (Eclipse 4.2) 中,我单击“生成云端点” 客户端库”。
  2. 我必须等待很长时间......
  3. 出现错误(我将在下面粘贴堆栈跟踪)。

预期输出 -> 一切正常,我的 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/

相关文章:

java - 使用 Java 对 mysql 数据库进行简单备份和恢复

android - View 类型中的 setOnClickListener(View.OnClickListener) 不适用于参数 (SequencerActivity) back.setOnClickListener(this);

android - 使用 Android 和 Eclipse 编译 Ceres Solver

java - BeanFactory 未初始化或已关闭

java - IntelliJ 中可能发生的事情在 Eclipse 中不可能发生?

java - PDPageContentStream没有drawLine()方法

android - 在设备上运行 Unity 应用程序时无法查看日志

c# - Mvvm交叉 : Android app crashes without information

c - 如何将特定的头文件添加到索引中,就像它包含在 eclipse cdt 中一样?

java - 线性java程序中的竞争条件