生成Google云端点客户端库时出错

时间:2013-04-22 22:46:11

标签: google-app-engine google-cloud-endpoints google-eclipse-plugin

在过去的几周里,我一直在使用 GAE / J Google Cloud Endpoints 开发应用。我创建了我的自定义端点(使用注释),虽然我遇到了很多问题,但我可以解决它们,一切都工作得很好。

但是现在(2013年4月22日)我尝试在端点方法中进行更改,突然 Google Eclipse插件不再生成客户端库了!

我试图从我的项目中删除所有生成的api文件,但没有任何效果。我甚至再次下载了Eclipse,安装了所有最新版本的GPE和GAE SDK并从头开始了一个新项目,但我收到同样的错误...


编辑:在尝试绝对一切后,似乎 Google的结尾一定存在问题。似乎GPE使用的是CloudClientLibGenerator,至少在最后一次......

[75小时......]

现在我想知道:

  1. 为什么他们需要一个云生成器来生成端点代码,如果他们在本地拥有所有必要的信息(代码,库等等)?或者他们没有?
  2. 我正在使用GAE的免费版,为大学开发应用程序(我的MSc最终项目),但如果我正在开发一个支付GAE的真实应用程序呢?这不是劣质吗?
  3. 无论如何,我认为这个词是 dis-end-ppointment 和端点......


    注意:我在Google代码中打开了this issue

    编辑来自Google项目成员的回复:“目前一般存在端点问题,这会混淆当前或以前的库生成问题。我会在当前问题得到解决后更新。

    我们正努力尽快解决问题。我们会在问题解决后发布更新。

    更新:有些用户现在在上述问题中发表评论,指出问题已解决!不过谷歌没有官方评论。不幸的是我暂时无法检查......


    可能的解决方法:

    您必须更改为以前的GAE SDK版本 1.7.5 1.7.6 正在发挥作用。您可以从here下载Java版本。

    我已经尝试过,端点库生成工作正常!还有开发服务器中的API Explorer,所以我们可以在等待修复错误的同时继续开发,根据Google团队将会发生什么明天 ......

    突然间,我已部署的端点无法正常工作! (尽管客户端生成仍未使用SDK 1.7.7)

    编辑:来自谷歌他们说命令行的生成也正常。


    尝试生成客户端库时抛出的异常的堆栈跟踪(在GPE错误日志中):

    java.lang.reflect.InvocationTargetException
        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:121)
        at com.google.gdt.eclipse.appengine.swarm.wizards.helpers.SwarmApiCreator.createSwarmApi(SwarmApiCreator.java:242)
        at com.google.gdt.eclipse.appengine.swarm.wizards.helpers.SwarmServiceCreator.create(SwarmServiceCreator.java:364)
        at com.google.gdt.eclipse.appengine.swarm.wizards.GenerateSwarmApiAction$1.run(GenerateSwarmApiAction.java:84)
        at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:464)
        at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:372)
        at org.eclipse.jface.dialogs.ProgressMonitorDialog.run(ProgressMonitorDialog.java:507)
        at com.google.gdt.eclipse.appengine.swarm.wizards.GenerateSwarmApiAction.run(GenerateSwarmApiAction.java:80)
        at org.eclipse.ui.internal.PluginAction.runWithEvent(PluginAction.java:251)
        at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:584)
        at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:501)
        at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:411)
        at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
        at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4169)
        at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3758)
        at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1053)
        at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
        at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:942)
        at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:86)
        at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:588)
        at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
        at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:543)
        at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
        at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:124)
        at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
        at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
        at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
        at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:353)
        at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:180)
        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 org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:629)
        at org.eclipse.equinox.launcher.Main.basicRun(Main.java:584)
        at org.eclipse.equinox.launcher.Main.run(Main.java:1438)
    Caused by: com.google.appengine.repackaged.com.google.api.client.http.HttpResponseException: 400 Bad Request
    {"error": {"message": "Bad Request", "code": 400, "errors": [{"message": "api error", "debug_info": "Could not parse api"}]}}
        at com.google.appengine.repackaged.com.google.api.client.http.HttpRequest.execute(HttpRequest.java:1155)
        at com.google.api.server.spi.tools.CloudClientLibGenerator.postRequest(CloudClientLibGenerator.java:52)
        at com.google.api.server.spi.tools.CloudClientLibGenerator.generateClientLib(CloudClientLibGenerator.java:43)
        ... 41 more
    

2 个答案:

答案 0 :(得分:5)

现在已在GPE 3.2.3和服务端修复此问题。您现在可以使用App Engine 1.7.7。

仍然存在一个问题:

https://code.google.com/p/google-plugin-for-eclipse/issues/detail?id=191

它将在周一修复。

答案 1 :(得分:0)

我有同样的问题。似乎没有修复。它一下子就开始发生了。昨天我能够生成云端点客户端库。但现在,没有。甚至创建一个新的模板项目也会产生错误。因此,从错误中猜测,它似乎是谷歌的一个问题。

已记录一个未解决的问题: https://code.google.com/p/googleappengine/issues/detail?id=9180