我目前正在通过WAS 7和Web 2.0 Feature Pack 1.1.0.0试验IBM JAX-RS功能。我遇到的问题是客户端Dojo ajax调用构成CORS情况,我基本上试图弄清楚如何正确处理OPTIONS请求。
我按照引用的url中的示例(尽管它适用于WAS 8,它不应该影响我正在玩的部分);但据报道,系统找不到任何支持OPTIONS的方法。
任何帮助将不胜感激!
答案 0 :(得分:0)
虽然不到一天,但由于我没有看到任何回应,我想发布我到目前为止拼凑的临时解决方案。
首先,请查看以下Mozilla链接,以便更好地了解CORS和OPTIONS请求(它为我做了诀窍)。
链接:https://developer.mozilla.org/en-US/docs/HTTP_access_control
接下来,关于IBM JAX-RS处理OPTIONS问题的一个更新。看起来OPTIONS请求的处理与其他GET / POST没有区别,它需要@Path值的精确匹配。这不是真正需要的,在我的情况下,我在@Path值中尝试使用通配符,它没有触发系统来处理OPTIONS的技巧。
现在,为解决方案。毫不奇怪,我最终使用过滤器将OPTIONS请求转发到使用@OPTIONS和固定的@Path值注释的资源内的方法,例如, @Path( “选项”)。
在过滤器中,我正在处理Allow-Origin和Allow-Header,然后我离开了资源的@OPTION方法来处理Allow-Methods。
这是非常简单和基本的解决方案。除了正确检查内部过滤器之外,不需要为每个请求过度添加标头。
这里有一个问题,它适用于Chrome(版本23.0.1271.95 m)和Mozilla(9.0.1),但不适用于IE。我仍在试图弄清楚IE如何响应这些CORS。希望这会有所帮助。