2011-10-22 4 views
4

C# 양식 응용 프로그램에서 웹 서비스에 액세스해야합니다.비누 클라이언트로 Windows 인증을 사용하는 웹 서비스

웹 서비스에는 Windows 인증이 필요합니다.

ServiceDeskSoapClient sd = new ServiceDeskSoapClient(); 
sd.ClientCredentials.UserName.UserName = @"mydomain\myusername"; 
sd.ClientCredentials.UserName.Password = "mypassword"; 
sd.MyMethod(); 

그러나 다음과 같은 오류 얻을 :

The HTTP request is unauthorized with client authentication scheme 'Anonymous'. The authentication header received from the server was 'Negotiate,NTLM'. 

이 익명하지, 윈도우 인증을 사용 그래서 내가 제대로 자격 증명을 설정하는 방법을?

나는 다음과 같은 코드를 사용

답변

6

누군가가 여전히 이것을 필요로하는 경우에는, 나는 오늘 그것을 알아내는 즐거움을 가졌습니다. 정말 아주 간단했다 :

var server = new MySoapClient(); 
if (server.ClientCredentials != null) 
{ 
    server.ClientCredentials.Windows.AllowNtlm = true; 
    server.ClientCredentials.Windows.ClientCredential = new NetworkCredential("MyUsername", "MyPassword", "MyDomain"); 
} 
+1

AllowNtlm이되지 않는 것 같습니다, 그리고 그것이 컴퓨터 설정을 사용한다는 것을 알고 있습니까? Windows 7에서 NTLM을 활성화하는 방법을 알고 있습니까? – guiomie

+0

나는 동일한 감가 상각 경고를 받았다. 나는 그것을 다음과 같이 작동시킬 수 있었다 : https://msdn.microsoft.com/en-us/library/ms732391.aspx –

관련 문제