在Google App Engine端点上部署时遇到HTTP代码302

时间:2013-03-06 11:23:49

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

使用official documentation在Java中开发App Engine端点时,在使用适当的参数运行endpoints.cmd并在GAE中部署后,开发服务器会在http://localhost:8888/_ah/api/discovery/v1/apis显示正确的端点,但访问GAE上的生产版本的资源管理器显示https://<my-app>.appspot.com/_ah/api/discovery/v1/apis处的旧端点。

错误被追溯到生产应用的日志中找到的HTTP 302(暂时移动)代码,以访问/_ah/spi/BackendService.getApiConfigs。在清除之前(即提供HTTP 200),Google的服务器将无法为端点提供服务(请参阅this comment)。

1 个答案:

答案 0 :(得分:3)

此错误部分是由于文档不一致造成的。虽然官方文档的示例web.xml使用<security-constraint>块,但sample tictactoe app的块不会。

如果您收到HTTP 302状态代码,请检查以下两项内容(来自this post):

    在WEB-INF的.api文件中
  1. ,在http声明中将https更改为bns
  2. 从您的web.xml中删除<security-constraint>块。
  3. 以上对我有用;不确定安全约束位是什么。也许GAE管理员可以改善这个答案吗?