使用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)。
答案 0 :(得分:3)
此错误部分是由于文档不一致造成的。虽然官方文档的示例web.xml使用<security-constraint>
块,但sample tictactoe app的块不会。
如果您收到HTTP 302
状态代码,请检查以下两项内容(来自this post):
http
声明中将https
更改为bns
,<security-constraint>
块。以上对我有用;不确定安全约束位是什么。也许GAE管理员可以改善这个答案吗?