2012-11-29 24 views
1

我目前正在通過WAS 7和Web 2.0 Feature Pack 1.1.0.0試驗IBM JAX-RS功能。我遇到的問題是客戶端Dojo Ajax調用提出了CORS情況,我基本上試圖找出如何正確處理OPTIONS請求。IBM JAX-RS 1.1處理Dojo Ajax選項請求

我跟着引用的網址中的例子(雖然它是爲WAS 8,它不應該影響我正在玩的部分);但是,據報道,系統找不到任何支持OPTIONS的方法。

任何幫助將不勝感激!

參考網址:http://www14.software.ibm.com/webapp/wsbroker/redirect?version=matt&product=was-base-iseries&topic=twbs_jaxrs_wadl_serving

回答

0

雖然這是不到一天的時間,因爲我沒有看到任何迴應,我要發佈了臨時解決方案,我拼湊爲止。

首先,從下面的鏈接查看Mozilla的鏈接,以便更好地理解CORS和OPTIONS請求(它對我有用)。

鏈接:https://developer.mozilla.org/en-US/docs/HTTP_access_control

接下來,IBM JAX-RS處理選項的問題一個更新。它看起來OPTIONS請求處理沒有不同於其他GET/POST,它需要@Path值的精確匹配。這不是真正需要的,在我的情況下,我在@Path值中嘗試了通配符,這並沒有觸發系統處理OPTIONS的竅門。

現在,爲解決方案。毫不奇怪,我最終使用一個過濾器將OPTIONS請求轉發到資源中用@OPTIONS註釋的方法,並修復了@Path值,例如@Path( 「選項」)。

在過濾器中,我正在處理Allow-Origin和Allow-Header,然後讓資源的@OPTION方法處理Allow-Methods。

這是非常簡單和基本的解決方案。除了正確檢查內部過濾器之外,還可以不必爲每個請求添加過多的標頭。

一個在這裏捕捉,它適用於Chrome(版本23.0.1271.95米)和Mozilla(9.0.1),但不適用於IE。我仍然試圖弄清楚IE如何響應這些CORS。希望這可以幫助。