Локальный сервер разработки AppEngine для Google Cloud Endpoints Framework V2 не работает
Я не могу запустить Google Endpoints Framework V2 на локальном сервере разработки AppEngine.
Чтобы продемонстрировать проблему, я создал демо-проект gradle. Он отлично работает, если развернуть в реальном экземпляре стандартной среды AppEngine, но не работает с локальным сервером разработки.
Шаги для воспроизведения:
- Отредактируйте appengine-web.xml, если хотите изменить имя службы appengine по умолчанию (framework-v2-someapi), и измените это имя также на шаге 5.
- gcloud auth login
- Конфигурационный набор gcloud PROJECT_ID
- ./gradlew appengineDeploy
- Приложение gcloud просматривает -s framework-v2-someapi
- Нажмите на ссылку API в новом открытом окне браузера.
- Поиграйте с API Explorer и проверьте Services > someapi API v1 > someapi.method.getHash работает нормально.
- ./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'