这些其他SharePoint Web服务API在哪里?

时间:2010-01-03 02:59:57

标签: c# web-services sharepoint

我正在尝试学习从外部C#客户端调用SharePoint Web服务。我正在使用MOSS 2007和VS 2008.网上有很多这样做的例子,但是他们中的大多数似乎都在使用与我在Visual Studio中看到的不同形式的每个Web服务API。我的问题是......什么是机智?

例如,当我启动Visual Studio 2008时,创建一个新的C#控制台应用程序项目,然后执行“添加服务引用...”以添加对“http://myspserver/_vti_bin/Lists.asmx”的引用,生成的命名空间(无论我选择提供什么名称)都包含ListsSoap,ListsSoapChannel和ListsSoapClient类,但没有Lists类。

但我看到的许多示例都希望在该命名空间中有一个Lists类。我一直看到这样的代码:

sharepoint.lists.Lists l = new sharepoint.lists.Lists();
System.Net.NetworkCredential cred = new System.Net.NetworkCredential("your username here", "your password here");
l.Credentials = cred;
XmlNode n = l.GetListItems("your calendar name here", null, null, null, null, null, null);

这段代码不能为我编译。我不希望它浏览绑定到Lists服务(在这种情况下为“sharepoint.lists”)向我展示了我上面提到的其他类,但没有Lists类。

并不能将Lists()替换为ListsClient()等其他类之一。如果我这样做,我以后会遇到问题。例如,ListsClient对象没有“Credentials”属性,而是“ClientCredentials”属性。

这几乎就像我使用较旧或较新形式的API,但我使用的是MOSS 2007(WSS 3.0),我看到的例子说它们是针对相同的SP版本编写的。< / p>

我在这里错过了什么或做错了什么?这个Lists课程来自哪里?

谦虚的TIA提供任何帮助。

PS:上面的代码来自:http://geekswithblogs.net/mcassell/archive/2007/08/22/Accessing-Sharepoint-Data-through-Web-Services.aspx

1 个答案:

答案 0 :(得分:2)

“添加服务引用”使用WCF,您看到的是编译WSDL的预期结果。阅读有关Windows Communication Foundation的更多信息,了解如何使用这些类。

如果要生成Lists类(更常见,如您所知),请使用“添加Web引用”对话框 - 这些使用System.Web.Services类,而不是WCF。

-Oisin