2012-11-29 5 views
1

현재 WAS 7 및 Web 2.0 기능 팩 1.1.0.0을 통해 IBM JAX-RS 기능을 실험하고 있습니다. 제가 실행하고있는 문제는 클라이언트 Dojo ajax 호출이 CORS 상황을 포착하는 것과 기본적으로 OPTIONS 요청을 올바르게 처리 할 수있는 방법을 찾는 것입니다.IBM JAX-RS 1.1 처리 Dojo Ajax 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

답변

0

그것이 내가 어떤 반응을 보지 않았기 때문에, 내가 지금까지 재현 임시 솔루션을 게시 할, 하루보다 비록.

먼저 CORS 및 OPTIONS 요청에 대한 이해를 돕기 위해 Mozilla의 링크를 확인하십시오 (나에게 트릭입니다).

링크 : https://developer.mozilla.org/en-US/docs/HTTP_access_control

다음, 옵션을 처리 IBM JAX-RS의 문제에 하나의 업데이트. OPTIONS 요청이 다른 GET/POST와 다르지 않게 처리되는 것으로 보입니다. @Path 값과 정확히 일치해야합니다. 이것은 실제로는 원하지 않습니다. 그리고 제 경우에는 OPTIONS를 처리하기 위해 시스템을 트리거하는 트릭을하지 않은 @Path 값에 와일드 카드를 시도했습니다.

지금 해결책입니다. 놀랍지 않게 필자는 OPTIONS 요청을 @OPTIONS 및 @Path로 고정 된 리소스 내부의 메서드로 전달하는 필터를 사용하여 결국 @Path 값을 고정시킵니다. @Path ("options").

필터에서 Allow-Origin 및 Allow-Header를 처리하고 나서 Allow- Methods를 처리하기 위해 리소스의 @OPTION 메서드를 남겼습니다.

매우 간단하고 기본적인 해결책입니다. 필터 내부의 적절한 확인과 함께 헤더는 모든 요청에 ​​대해 지나치게 추가 할 필요가 없습니다.

하나의 캐치는 Chrome (버전 23.0.1271.95 m) 및 Mozilla (9.0.1)에서는 작동하지만 IE에서는 작동하지 않습니다. 나는 아직도 IE가 이러한 CORS에 어떻게 반응하는지 파악하려고 노력 중이다. 희망이 도움이됩니다.