我正在尝试通过网络服务从sharepoint访问列表。
我为我的网络服务尝试了很多不同的网络参考网址。
该列表位于:
example.com/sites/dms/_layouts/15/start.aspx#/Lists/Documents/AllItems.aspx
我现在使用的Web服务URL是
https://example.com/sites/dms/_vti_bin/lists.asmx
显然,example.com不是真正的网址。
当我运行代码时
service.GetList("Documents");
我收到错误:
列表不存在。
您选择的页面包含一个不存在的列表。它可能已被其他用户删除 0x82000006
我的完整代码(许多内容仅用于测试目的):
public void UpdateList()
{
MKLists.Lists service = GetService();
string targetSite = "https://mywebpage.com/sites/dms";
using (ClientContext ctx = ClaimClientContext.GetAuthenticatedContext(targetSite))
{
if (ctx != null)
{
ctx.Load(ctx.Web); // Query for Web
ctx.ExecuteQuery(); // Execute
string test = (ctx.Web.Title);
}
}
CookieCollection authCookie = ClaimClientContext.GetAuthenticatedCookies(targetSite, 925, 525);
service.CookieContainer = new CookieContainer();
service.CookieContainer.Add(authCookie);
XmlNode tester = service.GetList("Documents");
}
private MKLists.Lists GetService()
{
MKLists.Lists myService = new MKLists.Lists();
myService.Credentials = System.Net.CredentialCache.DefaultCredentials;
return myService;
}
答案 0 :(得分:0)
更改此行:
MKLists.Lists service = GetService();
与
MKLists.Lists service = new MKLists.Lists();
我希望这会有所帮助。
修改强>
根据你在这里的回答评论是更新@Michael 尝试将您的targetite网址更改为
string targetSite = "https://mywebpage.com/sites/dms/_vti_bin/Lists.asmx";
希望这次有所帮助
答案 1 :(得分:0)
事实证明它与子网站有关..这条线解决了它:
service.Url = "https://mywebpage.com/sites/dms/_vti_bin/lists.asmx";
答案 2 :(得分:0)