Ich bin ganz mit diesem für die letzten 2 Stunden verärgert :(Windows-Authentifizierung mit Basichttpbinding von WCF
Leute,
ich einen Sharepoint-Liste OOTB Web-Service aus einer Konsole-Anwendung zugreifen versuchen. Meine Sharepoint Website in IIS auf integrierte Windows-Auth-Modus und den anonymen Zugriff aktiviert.
nun auf Client-Seite, was ich tue wird wie folgt
try
{
BasicHttpBinding bind = new BasicHttpBinding();
bind.Security.Mode = BasicHttpSecurityMode.TransportCredentialOnly;
bind.Security.Transport.ClientCredentialType = HttpClientCredentialType.Windows;
EndpointAddress endpoint = new EndpointAddress("http://abc:37379/_vti_bin/lists.asmx");
ServiceReference1.ListsSoapClient listService
= new ConsoleApplication1.ServiceReference1.ListsSoapClient(bind, endpoint);
var elm = listService.GetListItems("Tasks", null, null, null, "10", null, @"06dc3b48-a55e-4db8-8511-acbaf9748e15");
}
catch (Exception ex){
Console.WriteLine("Message:\n" + ex.Message + "\nDetail:\n" +
ex.ToString() + "\nStackTrace:\n" + ex.StackTrace); }
Boom, dies löst die Ausnahme aus "Die HTTP-Anfrage ist nicht autorisiert mit dem Client-Authentifizierungsschema 'Negotiate'. Der Authentifizierungs-Header vom Server empfangen wurde ‚NTLM‘.“
Ich wollte wirklich etwas tun, wie nach dem, was wir im alten Netz 2,0 Tage zu tun verwendet
serviceProxy.Credentials = new NetworkCredentials("username","password","domain");
Was ist der einfachste Weg, dies zu erreichen Art der Berechtigungsbehandlung in neuen Proxy-Klassen?
(BTW wie Sie bereits bemerkt habe ich bin der Binding/Endpunkt alles innerhalb Code eher eine Konfigurationsdatei, dies ist eine Einschränkung für meine App. Bitte sagen Sie mir nicht dies zu ändern, ist nicht möglich.)
Kann mir jemand dabei helfen ?? Es würde sehr geschätzt werden.
FYI: Geänderte Thema, weil ASMX <> WCF, so von _course_ sind die Proxy-Klassen unterschiedlich. –