2

カスタム Web サービスを WSS 3 にデプロイしています。これには 2 つの Web メソッドがあります。

最初のものは、SharePoint オブジェクトを呼び出すことなく、読み込まれたアセンブリのバージョンを返します。2 つ目は、次のようなライブラリに関する基本的な情報を返します。

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

クライアントアプリには、次のようなものがあります。

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

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

SharePoint が展開されているマシンでクライアント アプリを実行すると、すべてが正常に機能します。

クライアント アプリがリモート コンピューターで (ただし同じユーザーの下で) 実行されている場合、最初の方法は引き続き機能しますが、2 番目の方法は System.Net.WebException: HTTP 401: Unauthorized をスローします。

資格情報を手動で設定しようとしましたが (service.Credentials = new System.Net.NetworkCredential(login, password, domain);)、これは役に立ちません。

同様のシナリオを使用して、組み込みの SharePoint Web サービスを呼び出そうとしましたが、問題なく動作します。間違いを犯して申し訳ありません...一部のメソッドは、適切な権限がないと正常に動作しませんでした

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

service.SomeMethod();
4

1 に答える 1

3

問題は解決しました。共有ポイントとの対話に使用されたアカウントのユーザーは、サイト コレクションの管理者権限を取得し、すべてが正常に機能しました。

これはダブルホップの問題ではありません。

この経験が誰かの役に立てば幸いです。

MSDN フォーラムのスレッドへのリンクは次のとおりです。

于 2009-10-07T11:38:32.787 に答える