【问题标题】:AppEngine local dev server for Google Cloud Endpoints Framework V2 not workGoogle Cloud Endpoints Framework V2 的 AppEngine 本地开发服务器不起作用
【发布时间】:2017-06-09 22:17:08
【问题描述】:

我无法在本地 AppEngine 开发服务器上运行 Google Endpoints Framework V2。

为了演示一个问题,我创建了一个 gradle demo project 如果部署到真正的 AppEngine 标准环境实例,它可以正常工作,但不适用于本地开发服务器。

重现步骤:

  1. 编辑 appengine-web.xml,以防希望更改默认 appengine 服务名称 (framework-v2-someapi) 并在第 5 步中更改该名称。
  2. gcloud 认证登录
  3. gcloud 配置设置项目 PROJECT_ID
  4. ./gradlew appengineDeploy
  5. gcloud 应用浏览-s framework-v2-someapi
  6. 在新打开的浏览器窗口中单击 API 链接。
  7. 使用 API Explorer 并检查服务 > someapi API v1 > someapi.method.getHash 工作正常。
  8. ./gradlew appengineStart 并打开 http://localhost:8080 尝试在本地执行相同的操作并得到错误。

终于得到了

2017 年 1 月 24 日晚上 7:25:40 com.google.appengine.tools.development.devappserver2.RemoteApiDelegate 日志 严重:[1485285940023000] javax.servlet.ServletContext 日志: 不可用 com.google.appengine.tools.remoteapi.RemoteApiException: 响应是 python 异常: cgoogle.appengine.runtime.apiproxy_errors ApplicationError

我的问题是如何在本地运行 Google Endpoints Framework V2?

【问题讨论】:

  • 您好,API 管理代码中目前存在一个错误(正在审查中修复),该错误将在 endpoints-management-control-appengine 工件的 1.0.1 中修复。造成的不便,深表歉意。如果您现在不需要指标,我会在 web.xml 中注释掉 GoogleAppEngineControlFilter。
  • 谢谢 saiyr,但是如果你看一下代码,github.com/softkot/framework-v2-someapi/blob/master/src/main/… 上没有 GoogleAppEngineControlFilter
  • 它在不同的库中。您可以更新您的示例存储库并重试吗?
  • Saiyr,你能说得更具体一点吗?我需要更新什么?
  • @saiyr 同时尝试关注Quickstart for Cloud Endpoints Frameworks on App Engine 并获得相同的行为。项目构建和部署很好,但在本地运行示例 mvn appengine:run 以 [INFO] GCLOUD: WARNING: failed endpoints-api-controller: com.google.appengine.tools.remoteapi.RemoteApiException: response was a python exception: [INFO] GCLOUD: cgoogle.appengine.runtime.apiproxy_errors [INFO] GCLOUD: ApplicationError 结束

标签: java google-app-engine gradle google-cloud-endpoints


【解决方案1】:

原始发帖人找到的解决方案是在他的 appengine-web.xml 文件中设置<version> 标签。这个标签的描述可以在这个 Github helloworld java-docs-samples repositoryREADME 上找到。

【讨论】:

    【解决方案2】:

    build.gradle,更改

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

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

    【讨论】:

    • 不,它不能解决问题。它也可以用Quickstart for Cloud Endpoints Frameworks on App Engine 重现,并得到相同的错误。
    • 最终我发现 dev_appserver.py 在 google-cloud-sdk-app-engine-java 和 appengin-java-sdk 最新包中是不同的。 Gcloud 版本需要 appengine-web.xml 中已弃用的 标记才能运行端点。
    • 你是说加了版本就可以了? Flex 尚不完全支持 Endpoints 框架。
    • 首先,我说的是只在 dev_appserver.py 下运行。我只使用标准环境。是的,如果包含版本标签,带有端点代码的 dev_appserver.py 将开始工作。
    猜你喜欢
    • 2019-05-11
    • 2018-03-19
    • 2017-02-19
    • 2017-08-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-11
    相关资源
    最近更新 更多