我正在嘗試將C#程序連接到Sharepoint。我擁有:Sharepoint URL,用戶名和密碼,沒有Sharepoint.dll(客戶機,沒有Microsoft.Sharepoint命名空間,所以我使用Sharepoint Web服務),Visual Studio 2010 Ultimate。C#/ VS2010/Sharepoint列表連接
我做了什麼至今:
增加了一個「服務引用」我的項目,我的SharePoint的URL像
https://.../content/10003194/_vti_bin/lists.asmx
和我的代碼:
//no TestSP.Lists here...
TestSP.ListsSoapClient cl = new TestSP.ListsSoapClient();
cl.Open();
String listGUID = "A9E7107B-7AF6-42DC-A1A7-6C898D55D23E";
String viewGUID = "684F5F8A-B32E-461C-BD53-677F84A9C101";
//this is where it crashes
System.Xml.Linq.XElement data = cl.GetListItems(listGUID, viewGUID, null, null, "1000", null, "");
IEnumerable<XElement> elements = data.Elements();
foreach (XElement el in elements)
{
Console.WriteLine(el);
}
崩潰在指定行機智h:
該HTTP請求未經授權,客戶端身份驗證方案爲「匿名」。從服務器收到的驗證頭是「Negotiate,NTLM,Basic realm =」...「'
這很可能是因爲我沒有指定用戶名和密碼。網絡上的各種教程顯示蝨憑據可以這樣設置:
TestSP.Credentials = System.Net.CredentialCache.DefaultCredentials;
的問題是:有沒有TestSP.Lists
,所以我用TestSP.ListsSoapClient
,它沒有Credentials
,只有ClientCredentials
,這是隻讀的。
與這些憑據相同的錯誤,但我現在使用添加web引用,它似乎工作,我不會再有一個「未經授權」的錯誤,現在是另一個錯誤:'類型'Microsoft.SharePoint.SoapServer異常。 SoapServerException'被拋出.'。但我認爲這是別的... –
@Eike - 希望我已經幫了忙。我已經用另一種獲取數據的方式更新了答案,供您考慮。 – Kobi