Ошибка при создании клиентских библиотек конечных точек Google.

В течение последних недель я разрабатывал приложение, используя GAE/J и Облачные конечные точки Google. Я создал свои пользовательские конечные точки (используя аннотации), и хотя у меня было довольно много проблем, я мог их решить, и все работало довольно хорошо.

Но теперь (22/04/2013) Я попытался внести изменения в метод конечных точек, и внезапно Плагин Google Eclipse больше не генерирует клиентские библиотеки!

Я попытался удалить все созданные файлы api из моего проекта, но ничего не получилось. Я даже загрузил Eclipse снова, установил все последние версии GPE и GAE SDK и начал новый проект с нуля, но я получаю ту же ошибку...


РЕДАКТИРОВАТЬ: после попытки абсолютно ВСЕ, похоже, что проблема с Google заканчивается. Кажется, что GPE использует CloudClientLibGenerator, который не работал, по крайней мере, для последнего...

[75 часов...]

И теперь мне интересно:

  • Зачем им нужен генератор облаков для генерации кода конечных точек, если у них есть вся необходимая информация локально (код, библиотеки и т.д.)? или нет?
  • Я использую бесплатную версию GAE, разрабатывая приложение для университета (мой окончательный проект MSc), но что, если я разрабатываю реальное приложение для GAE? Разве это не слишком дряблое?

Во всяком случае, я думаю, что слово dis-end-ppointment с Endpoints...


Примечание. Я открыл эту проблему в коде Google.

РЕДАКТИРОВАТЬ: Ответы от участника проекта Google. "В настоящее время проблема с конечными точками в целом, которая запутывает любые текущие или предыдущие проблемы с генерацией библиотеки. Я обновлю, когда будет устранена текущая проблема."

"Мы работаем над устранением проблемы как можно скорее. Мы опубликуем обновление после устранения проблемы".

ОБНОВЛЕНИЕ. Некоторые пользователи теперь публикуют комментарии в выпуске выше, указав, что проблема решена! Однако официальных комментариев от Google нет. К сожалению, я не могу проверить это на данный момент...


ВОЗМОЖНАЯ РАБОТА:

Вам нужно перейти на предыдущую версию SDK SDE. Работают как 1.7.5, так и 1.7.6. Вы можете загрузить версию Java из здесь.

Я пробовал, и генерация библиотеки конечных точек работает!!! А также API-интерфейс Explorer на сервере разработки, поэтому мы можем продолжать развиваться, ожидая исправления ошибки, что произойдет завтра в соответствии с командой Google...

И вдруг мои уже развернутые конечные точки, которые не работали, снова работают! (хотя поколение клиентов все еще не работает с SDK 1.7.7)

EDIT: от Google они говорят, что генерация из командной строки также работает.


Stacktrace исключения, созданного при попытке создания клиентских библиотек (в журнале ошибок 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

Ответ 1

Теперь это исправлено в GPE 3.2.3 и на стороне обслуживания. Теперь вы можете использовать App Engine 1.7.7.

Осталось еще одна проблема:

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

и он будет установлен в понедельник.

Ответ 2

У меня та же проблема. Пока ничего не получается. Это началось внезапно. Вчера я смог создать облачные клиентские библиотеки конечных точек. Но теперь нет. И даже создание нового проекта шаблона дает ошибку. Поэтому, угадывая ошибку, она выглядит проблемой в конце Google.

Запущена открытая проблема: https://code.google.com/p/googleappengine/issues/detail?id=9180