우리는 클라이언트 dll이 액세스하려고하는 IIS에서 호스팅되는 WCF 서비스를 가지고 있습니다. 이 서비스는 IIS에서 HTTPS를 사용하도록 바인딩되어 있으며 클라이언트 인증서를 무시하도록 설정되어 있습니다. SSL은 잘 작동하지만 문제는 SSL을 필요로합니다.WCF에서 SSL을 요구하면 "클라이언트 인증 체계 '익명'으로 HTTP 요청을 금지했습니다."오류가 발생합니다.
실제로 이해할 수없는 것은 서비스의 메소드 중 하나를 호출하는 것이 잘 작동하지만 다른 메소드를 호출하면 작동하지 않고 다음과 같은 오류가 발생한다는 것입니다. "HTTP 요청이 클라이언트 인증 스키마와 함께 금지되었습니다. 익명 'System.Net.WebException : 원격 서버 오류를 반환했습니다 : (403) 금지. "
이 문제의 원인은 무엇일까요? 나는 WCF에 꽤 새로 왔습니다. 그래서 만약 내가 무엇이든 빠져 있거나 더 많은 정보가 필요하면 알려주세요.
다음은 서비스 구성 코드의 일부입니다 :
this.Description.Behaviors.Add(new FaultConversionErrorHandler());
this.Description.Behaviors.Add(new LoggingErrorHandler());
BasicHttpBinding binding = new BasicHttpBinding();
binding.Security.Mode = BasicHttpSecurityMode.Transport;
ServiceEndpoint endpoint = this.AddServiceEndpoint(typeof(ILicenseService), binding, String.Empty);
SecurityEndpointBehavior securityEndpointBehavior = new SecurityEndpointBehavior();
endpoint.Behaviors.Add(securityEndpointBehavior);
을 그리고 여기에 클라이언트가 서비스를 참조하는 방법은 다음과 같습니다
이EndpointAddress a = new EndpointAddress(licenseServiceUrl);
Binding b = new BasicHttpBinding(BasicHttpSecurityMode.Transport);
LicenseServiceClient client = new LicenseServiceClient(b, a);
client.Endpoint.Behaviors.Add(new SecurityEndpointBehavior());
나는 가까운 문제에 직면했다. ([내 질문] (http://stackoverflow.com/questions/16979346/wcf-service-stop-responding-nexpectedly-with-error-client-authentication-schem)) 문제를 해결 했니? 그렇다면 내 문제를 해결하도록 도와 줄 수 있습니까? – srcnaks