生成谷歌云端点客户端库时出错 [英] Error generating google cloud endpoint client libraries

查看:121
本文介绍了生成谷歌云端点客户端库时出错的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在过去的几周里,我一直在使用 GAE / J Google云端点开发应用程序。我创建了我的自定义端点(使用注释),尽管我遇到了很多问题,但我可以解决它们,一切工作都很顺利。



但现在(22 / 04/2013)我试图对端点方法进行更改,并且 Google Eclipse插件突然不再生成客户端库!



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



< hr>

编辑:尝试绝对​​ EVERYTHING 后,Google的结束似乎存在问题 EM>。看起来GPE使用 CloudClientLibGenerator ,它至少在最后一次没有工作......



[75小时...]



现在我想知道:


  1. 为什么他们需要一个云生成器来生成端点的代码,如果他们在本地拥有所有必要的信息(代码,库等)?或者他们没有?

  2. 我正在使用GAE的免费版本,为大学开发一个应用程序(我的MSc最终项目),但是如果我正在开发一款支付GAE的真实应用程序?是不是这样劣质



  3. 无论如何,我认为这个词是 dis -end-ppointment 与终端...






    注意:我已经打开 此问题 在Google代码中。



    编辑 Google Project成员的响应:目前终端存在一个问题,它会混淆任何当前或之前的问题,我将在当前问题解决后进行更新。



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



    更新:有些用户现在在上述问题中发布了评论,指出问题解决了!尽管Google没有官方评论。不幸的是我目前无法检查它...






    可能的解决方法:



    您必须更改为以前的GAE SDK版本 1.7.5 1.7.6 都可以使用。您可以从 here

    我尝试了端点库生成工作!另外还有开发服务器中的API Explorer,所以我们可以在等待bug修复的过程中继续开发,根据Google团队的情况明天会发生什么......



    突然间,我已经部署的终端无法使用,正在重新开始工作! (尽管客户端代仍然不支持SDK 1.7.7)



    编辑:从谷歌他们说,从命令生成也是如此。






    在尝试生成客户端库时(在GPE错误日志中)抛出异常Stacktrace:

      java.lang.reflect.InvocationTargetException $ b $ at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    。在sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    在java.lang.reflect.Method.invoke( Method.java:601)
    ,位于com.google.gdt.eclipse.appengine.swarm.wizards.helpers.SwarmApiCreator.createClientLibFromApiConfig(SwarmApiCreator.java:121)
    com.google.gdt.eclipse。 appengine.swarm.wizards.helpers.SwarmApiCreator.createSwarmApi(SwarmApiCreator.java:242)
    com.google.gdt .eclipse.appengine.swarm.wizards.helpers.SwarmServiceCreator.create(SwarmServiceCreator.java:364)
    在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)
    。在org.eclipse.jface.dialogs.ProgressMonitorDialog.run(ProgressMonitorDialog.java:507)
    在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(ActionContributio
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:nItem.java:411)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3758)$ b org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4169)
    $ b 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)在org.eclipse.ui.internal.Workbench上
    $ 5.run(Workbench.java:588)
    在org.eclipse.core.databinding.observable.Realm。在org.eclipse中,runWithDefault(Realm.java:332)
    在org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:543)
    。 ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)在org.eclipse.equinox处使用org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:124)

    。 internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
    处org.eclipse org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
    。 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)
    在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)
    在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.equin ox.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)
    引起:com.google.appengine.repackaged.com.google.api.client.http.HttpResponseException:400错误请求
    {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)在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


    解决方案

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



    还有一个问题:

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

    它将在星期一修复。


    During last weeks I've been developing an app using GAE/J and Google Cloud Endpoints. I created my custom endpoints (using annotations) and although I had quite a lot of problems, I could solve them and everything was working rather fine.

    But now (22/04/2013) I tried to make changes in an endpoint method, and suddenly the Google Eclipse Plugin is not generating the client libraries anymore!

    I tried to delete all the generated api files from my project, but nothing worked. I've even downloaded Eclipse again, installed all the last versions of GPE and GAE SDK and started a new project from scratch, but I'm getting the same error...


    EDIT: After trying absolutely EVERYTHING, it seems that there must be a problem with Google's end. It seems that GPE uses a CloudClientLibGenerator, which hasn't been working at least for the last...

    [ 75 hours ... ]

    And now I'm wondering:

    1. Why the hell they need a cloud generator to generate the code of the endpoints, if they have all the necessary info locally (code, libraries, etc...)? or they haven't?
    2. I'm using the free version of GAE, developing an app for the university (my MSc final project), but what if I was developing a real app paying for GAE? Isn't this a bit too shoddy?

    Anyway, I think the word is dis-end-ppointment with Endpoints...


    Note: I've opened this issue in Google Code.

    EDIT: Responses from Google Project Member: "There's currently an issue with Endpoints in general, which is obfuscating any current or prior issues with library generation. I'll update when the current issue is resolved."

    "We're working to get the problem fixed ASAP. We will post an update once the problem is resolved."

    UPDATE: Some users are now posting comments in the issue above pointing out that the problem is solved! There's no official comment from Google though. Unfortunately I can't check it for the moment...


    POSSIBLE WORKAROUND:

    You have to change to a previous GAE SDK version. Both 1.7.5 and 1.7.6 are working. You can download Java version from here.

    I've tried and the endpoint library generation is working!!! And also the APIs Explorer in the development server, so we can keep developing while waiting for the bug to be fixed, what will happen tomorrow according to Google team...

    And suddenly my already deployed endpoints, which were not working, are working again! (although the client generation is still not working with SDK 1.7.7)

    EDIT: From Google they're saying that the generation from command line is working as well.


    Stacktrace of the exception thrown while trying to generate client libraries (in GPE Error Log):

    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
    

    解决方案

    This is now fixed in GPE 3.2.3, and on the service side. You can now use App Engine 1.7.7.

    There is still one issue remaining:

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

    and it will be fixed on Monday.

    这篇关于生成谷歌云端点客户端库时出错的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆