2012-07-03 6 views
1

HTTP 기본 인증을 사용하여 WCF를 통해 3 개의 웹 서비스 (Sharepoint/Alfresco/Documentum CMIS)를 사용해야합니다. WCF 기본 인증이 401 대신 500을 보내지 않는 서비스

셰어 또는 알 프레스코, 첫 번째 요청은 인증 헤더없이 진행으로

HTTP 401 수신 가져옵니다 자동 재 시도 헤더, 모두의 벌금 WCF에 의해.

Documentum으로, 나는 HTTP 500과 SOAP Fault를 대신받습니다. 따라서 WCF는 헤더를 보낼 수있는 기회를 얻지 못하고 그대로 예외를 반환합니다.

물론 수동으로 HttpRequestMessageProperty을 통해 헤더를 추가 할 수 있지만,보기 흉하게 들립니다. WCF 쪽 에서 첫 번째 요청이 인 헤더를 보내거나 Documentum 측에서 401을 반환하도록 구성 할 수있는 것이 있습니까?

+0

귀하의 질문은 클라이언트 쪽 또는 서버 쪽에서 WCF가 사용되는지 여부를 명확히하지 않지만 클라이언트 쪽을 가정합니다. 이제 HTTP 500은 서버 측 오류입니다. 인증이 필요함을 나타내는 응답으로 절대로 전송해서는 안되며, 서버가 그렇게 할 경우 서버가 손상됩니다. 500 오류가 다른 이유로 전송되면 서버가 고장났습니다. 그래서이 문제에 대한 픽스가 클라이언트 측 (WCF에서)이 아니라고 제안합니다. Documentum에서는 클라이언트 입력에 관계없이 서버가 버그가 발생하는 경우를 제외하고는 절대로 500을 발행해서는 안되기 때문에 Documentum에서는 서버 측에 있습니다. – Cheeso

+0

예, WCF는 클라이언트 측에 있습니다. 불행히도 (거의) 누구도 Documentum 설치를 업그레이드하지 않습니다. 왜냐하면 a) 많은 비용과 b) 기존 배포를 망칠 까봐 두려움 때문에 클라이언트 측 해결책을 찾아야하기 때문입니다. – wizzard0

답변

0

제대로 작동하는 다른 웹 서버로 Documentum 서비스를 접하고 요청을 통과시킬 수 있습니까?

IIS를 사용하여 Windows Auth를 사용하기 위해 Apache Tomcat을 사용하기 위해 유사한 기능을 구현했으며 isapi_redirect.dll 필터를 사용하여 요청을 전달했습니다. 이에 대한 자세한 내용은 여기에서 확인할 수 있습니다. http://tomcat.apache.org/connectors-doc/reference/iis.html

그와 같은 옵션이 옵션인지는 모르겠지만 코드에서 더 쉬운 해결책을 제공 할 수 있습니다.