Google app engine 生成google云端点客户端库时出错
在过去的几周里,我一直在使用GAE/J和谷歌云端点开发一个应用程序。我创建了我的自定义端点(使用注释),尽管我有很多问题,但我可以解决它们,而且一切都很好 但是现在(2013年4月22日),我试图对端点方法进行更改,突然,谷歌Eclipse插件不再生成客户端库了 我试图从我的项目中删除所有生成的api文件,但没有任何效果。我甚至再次下载了Eclipse,安装了所有最新版本的GPE和GAE SDK,并从头开始了一个新项目,但我得到了同样的错误Google app engine 生成google云端点客户端库时出错,google-app-engine,google-cloud-endpoints,google-eclipse-plugin,Google App Engine,Google Cloud Endpoints,Google Eclipse Plugin,在过去的几周里,我一直在使用GAE/J和谷歌云端点开发一个应用程序。我创建了我的自定义端点(使用注释),尽管我有很多问题,但我可以解决它们,而且一切都很好 但是现在(2013年4月22日),我试图对端点方法进行更改,突然,谷歌Eclipse插件不再生成客户端库了 我试图从我的项目中删除所有生成的api文件,但没有任何效果。我甚至再次下载了Eclipse,安装了所有最新版本的GPE和GAE SDK,并从头开始了一个新项目,但我得到了同样的错误 编辑:在尝试了绝对一切之后,似乎谷歌的终端肯定有问题
编辑:在尝试了绝对一切之后,似乎谷歌的终端肯定有问题。GPE似乎使用了一个
CloudClientLibGenerator
,它至少在过去几年中一直不起作用
[75小时…]
现在我想知道:
注意:我已经用谷歌代码打开了 编辑:来自Google项目成员的回复:“当前终结点普遍存在问题,这会混淆库生成中的任何当前或以前的问题。当前问题解决后,我将进行更新。” “我们正在努力尽快解决问题。问题解决后,我们将发布更新。” 更新:一些用户现在在上面的问题上发表评论,指出问题已经解决了!不过,谷歌没有发表官方评论。不幸的是,我现在不能检查它。。。
可能的解决办法: 您必须更改为先前的GAE SDK版本。1.7.5和1.7.6都在工作。您可以从下载Java版本 我已经试过了,端点库的生成工作正常!!!还有开发服务器中的API浏览器,所以我们可以在等待bug修复的同时继续开发,明天会发生什么根据Google团队的说法 突然间,我已经部署的端点(它们不工作)又开始工作了!(尽管客户端生成仍然不能与SDK 1.7.7一起使用) 编辑:从谷歌他们说,从命令行生成的工作以及
尝试生成客户端库时引发的异常的堆栈跟踪(在GPE错误日志中):
我也有同样的问题。似乎还没有解决办法。事情突然发生了。我昨天能够很好地生成云端点客户端库。但是现在,没有了。甚至创建一个新的模板项目也会出现错误。因此,从错误中猜测,这似乎是谷歌方面的一个问题 已记录一个未解决的问题:
这一点现在已在GPE 3.2.3和服务端修复。您现在可以使用App Engine 1.7.7 还有一个问题:
它将在周一修复。谢谢@Phil提供的信息。是的,这也是我猜的。。。至少已经12小时了,我需要修好它!我将在谷歌代码中检查这个问题……我讨厌迂腐,但我认为这可能是对这个问题的评论,而不是答案。我也有同样的问题。谷歌的问题是,在使用他们的任何“实验性API”时,你都不能过于小心/信任。他们在没有任何通知或线索的情况下改变和破坏。一次又一次地发生在我身上-(有人尝试过生成云端点库的命令行方法吗?事实上,我没有,但我认为它不会做出任何改变,因为毕竟生成过程应该是相同的,不管是从命令行还是从GPE调用的,对吧?此外,谷歌项目成员的评论并没有让我想到这一点目前有任何解决方案,但等待…是的,你是对的。即使我的应用程序api浏览器也没有响应。这是真的,我已经编辑过。到目前为止,至少我可以访问我的edpoints…这太神奇了!我需要尽快修复…现在我想忘记这种情况,所以我要去看冠军联赛;)此错误的状态现在也已“修复”。
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