2 Stimmen

Probleme bei der Nutzung von benutzerdefinierten SharePoint-Webdiensten - HTTP 401: Nicht autorisiert

Ich habe einen benutzerdefinierten Webdienst in WSS 3 implementiert, der über zwei Webmethoden verfügt.

Die erste gibt die Version der geladenen Assembly zurück, ohne dass die SharePoint-Objekte aufgerufen werden. Die zweite gibt einige grundlegende Informationen über die Bibliothek zurück, etwa so:

var spLibrary = [find library logic];
return spLibrary.Name+"@"+spLibrary.Url;

In der Client-App habe ich etwas wie das Folgende:

var service = new WebService1();
service.Url = [url];
service.Credentials = System.Net.CredentialCache.DefaultCredentials;

service.Method1();
service.Method2();

Wenn die Client-Anwendung auf dem Rechner ausgeführt wird, auf dem SharePoint bereitgestellt ist, funktioniert alles einwandfrei.

Wenn die Clientanwendung auf dem Remotecomputer (aber unter demselben Benutzer) ausgeführt wird, funktioniert die erste Methode immer noch, aber die zweite löst eine System.Net.WebException aus: HTTP 401: Nicht autorisiert.

Ich habe versucht, die Anmeldeinformationen manuell festzulegen (service.Credentials = new System.Net.NetworkCredentials(login, password, domain);), aber das hilft nicht.

Ich habe versucht, die eingebauten SharePoint-Webdienste in einem ähnlichen Szenario aufzurufen und sie funktionieren einwandfrei: Entschuldigung für den Fehler... Einige Methoden funktionierten ohne die entsprechenden Berechtigungen nicht einwandfrei.

var service = new GroupsService(); 
service.Url = [url]; 
service.Credentials = System.Net.CredentialCache.DefaultCredentials; 

service.SomeMethod();

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X