【发布时间】:2013-11-29 07:11:19
【问题描述】:
我在启用 Cors 的 jBoss 服务器中使用 resteasy-jaxrs 时发现了一些奇怪的东西。这是设置:
我们的服务器启用了 transactioncompany.com 的 CorsFilter (v1.3.2) 作为 servlet 过滤器来启用 CORS 并将适当的 CORS 标头添加到 HttpServletResponse 对象。
服务器本身使用 resteasy-jaxrs (v2.3.2.Final) 来提供 JSON 端点来支持我们的应用程序,显然在单独的域上运行。
问题是,如果我的端点方法之一生成任何类型的异常(NPE、UnauthorizedException、InternalServerErrorException),作为准备响应的一部分,RestEasy 会进行调用
(HttpServletResponse)response.reset()
这会清除我的 CORS 标头。这会导致 Chrome 正确地采取行动,就好像应该取消请求一样。这对于需要这些错误代码的前端开发人员来说真的很不方便。
两个问题:
- RestEasy 为什么要清除这些标头?
- 有其他人遇到过这个问题并有任何解决方法吗?
【问题讨论】: