1

私は現在、WAS 7 と Web 2.0 Feature Pack 1.1.0.0 を介して IBM JAX-RS 機能を試しています。私が直面している問題は、クライアントの Dojo ajax 呼び出しが CORS の状況を引き起こしていることです。基本的に、OPTIONS 要求を適切に処理する方法を見つけようとしています。

参照された URL の例に従いました (これは WAS 8 用ですが、私が遊んでいる部分には影響しません)。ただし、システムは OPTIONS をサポートするメソッドを見つけることができないと報告されています。

どんな助けでも大歓迎です!

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

4

1 に答える 1

0

1日も経っていませんが、何の反応も見られなかったので、これまでの一時的な解決策を投稿したいと思います.

まず、CORS と OPTIONS リクエストをよりよく理解するために、Mozilla からの以下のリンクをチェックしてください (それは私にとってはうまくいきました)。

リンク: https://developer.mozilla.org/en-US/docs/HTTP_access_control

次に、OPTIONS を処理する IBM JAX-RS の問題に関する 1 つの更新。OPTIONS リクエストは他の GET/POST と同じように処理されるようです。@Path 値が完全に一致する必要があります。これは実際には望ましくありません。私の場合、@Path 値でワイルドカードを試しましたが、システムが OPTIONS を処理するようにトリガーするトリックは実行されませんでした。

さて、解決策です。当然のことながら、フィルターを使用して、@OPTIONS で注釈が付けられたリソース内のメソッドに OPTIONS リクエストを転送し、@Path("options") などの固定 @Path 値を使用することになります。

フィルターでは、Allow-Origin と Allow-Header を処理してから、Allow-Methods を処理するためにリソースの @OPTION メソッドを残しました。

これは非常にシンプルで基本的なソリューションです。フィルター内の適切なチェックに加えて、リクエストごとにヘッダーを過度に追加する必要はありません。

Chrome (バージョン 23.0.1271.95 m) と Mozilla (9.0.1) では機能しますが、IE では機能しません。私はまだ、IE がこれらの CORS にどのように応答しているかを理解しようとしています。お役に立てれば。

于 2012-11-30T14:20:47.930 に答える