2013-03-06 138 views
3

在使用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在Google App Engine端点上部署时遇到HTTP代码302

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

回答

3

此错误的部分原因是文档不一致。虽然官方文档的示例web.xml使用<security-constraint>块,但sample tictactoe app没有。

如果你得到一个HTTP 302状态代码,请检查以下两件事情(从this post):

    在WEB-INF您.api文件
  1. ,在bns声明中更改httphttps
  2. 从您的web.xml中删除<security-constraint>块。

上面的工作适合我;不确定安全约束是关于什么的。也许一个GAE管理员可以改善这个答案?