Локальный сервер разработки AppEngine для Google Cloud Endpoints Framework V2 не работает

Я не могу запустить Google Endpoints Framework V2 на локальном сервере разработки AppEngine.

Чтобы продемонстрировать проблему, я создал демо-проект gradle. Он отлично работает, если развернуть в реальном экземпляре стандартной среды AppEngine, но не работает с локальным сервером разработки.

Шаги для воспроизведения:

  1. Отредактируйте appengine-web.xml, если хотите изменить имя службы appengine по умолчанию (framework-v2-someapi), и измените это имя также на шаге 5.
  2. gcloud auth login
  3. Конфигурационный набор gcloud PROJECT_ID
  4. ./gradlew appengineDeploy
  5. Приложение gcloud просматривает -s framework-v2-someapi
  6. Нажмите на ссылку API в новом открытом окне браузера.
  7. Поиграйте с API Explorer и проверьте Services > someapi API v1 > someapi.method.getHash работает нормально.
  8. ./gradlew appengineStart и откройте http://localhost:8080/, чтобы попытаться сделать то же самое локально и получить вместо этого ошибки.

В конце концов получил

24 января 2017 г. 19:25:40 Журнал com.google.appengine.tools.development.devappserver2.RemoteApiDelegate. СЕРЬЕЗНО: [1485285940023000] javax.servlet.ServletContext log: недоступно com.google.appengine.tools.remoteapi.RemoteAEx было исключение Python: cgoogle.appengine.runtime.apiproxy_errors ApplicationError

У меня вопрос, как запустить Google Endpoints Framework V2 локально?

2 ответа

Решение, найденное оригинальным постером, состояло в том, чтобы установить <version> тег внутри его файла appengine-web.xml. Описание этого тега можно найти на README этого хранилища Github helloworld java-docs-samples.

В build.gradle, менять

compile 'com.google.endpoints:endpoints-management-control-appengine:1.0.0'

в

compile 'com.google.endpoints:endpoints-management-control-appengine:1.0.1'
Другие вопросы по тегам