Web 服务指南
上次修改时间: 2010年7月7日
适用范围: SharePoint Foundation 2010
Microsoft.SharePoint.SoapServer 命名空间提供的 Microsoft SharePoint Foundation Web 服务包括用于访问网站上的内容的方法(例如,处理列表或网站数据)以及用于自定义会议、图像、文档工作区或搜索的方法。
重要信息 |
---|
建议尽可能地使用新的客户端对象模型来远程处理 SharePoint Foundation 数据,而不是使用此处描述的旧式 ASP.NET Web 服务。 |
这些服务中使用的 SOAP 接口为 Microsoft .NET Framework 开发人员提供了用于创建解决方案的对象模型,这些解决方案可通过客户端或自定义应用程序来远程处理 SharePoint Foundation。这些接口是通过 Microsoft.SharePoint 程序集的服务器端对象模型定义的,并且接口的设计进行了优化以减少客户端计算机与服务器之间事务处理的往返数。
大多数 Web 服务通过 /_vti_bin 虚拟目录提供其功能,此虚拟目录将映射到文件系统中的 %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\ISAPI 物理目录。管理 Web 服务使用映射到 %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\ADMISAPI 的 /_vti_adm 虚拟目录。
备注
SharePoint Foundation 不要求实现 SOAP 的特定版本。在使用 SharePoint Foundation 的任何事务中的 SOAP 响应均由 .NET Framework 管理。
ASP.NET Web 服务的使用准则
可以在 Microsoft Visual Studio 中创建一个项目(例如,Windows 窗体应用程序或控制台应用程序),此项目使用 SharePoint Foundation Web 服务与 SharePoint 网站和列表数据进行交互。创建项目之后,必须设置对要在代码中实现的 Web 服务的引用,以便指定与包含数据的网站相关的 Web 服务的完整路径。
在 Visual Studio 中添加对 SharePoint Foundation Web 服务的引用
在"解决方案资源管理器"中,右键单击"引用",然后单击"添加服务引用"。
在"添加服务引用"对话框中单击"高级",然后在"服务引用设置"对话框中单击"添加 Web 引用"。
在"添加 Web 引用"对话框中,对于"URL",键入 Web 服务的绝对 URL,并指定一个包含 Web 服务可用于的网站的路径。例如,如果您需要添加对列表 Web 服务的引用,请按照下列格式指定一个路径:
http://MyServer/[sites/][MySite/][MySubsite/]_vti_bin/Lists.asmx
如果要使用管理 Web 服务中的方法,则应改为指定转到管理端口并将 _vti_adm 用作虚拟目录的路径,如下所示。
http://MyServer:Port_Number/_vti_adm/Admin.asmx
有关由 SharePoint Foundation 提供的默认 ASP.NET Web 服务列表的信息,请参阅 SharePoint Foundation 2010 Web 服务。
键入 Web 引用名称,然后单击"添加引用"。
实例化服务
使用构造函数通过代码实例化 Web 服务,如下所示:Web_Reference.Service_NameServiceInstance = new Web_Reference.Service_Name()。Web_Reference 表示用于对 Visual Studio 中的 Web 服务的引用的名称,而 Service_Name 表示提供可通过 Web 服务调用的方法的类的名称。
创建用户凭据
若要为应用程序运行的当前安全性上下文创建系统凭据,请在上一个命令行的后面添加以下命令行,此命令行通过将运行代码的用户或组的默认凭据从系统凭据缓存传递到 Web 服务来对其进行身份验证。
ServiceInstance.Credentials = System.Net.CredentialCache.DefaultCredentials
ServiceInstance.Credentials = System.Net.CredentialCache.DefaultCredentials;
编程任务
下面的基本编程任务演示如何使用 SharePoint Foundation 中提供的一个默认 Web 服务:
有关如何创建可实现 SharePoint Foundation 服务器端对象模型的自定义 ASP.NET Web 服务的信息,请参阅演练:创建自定义 ASP.NET Web 服务。有关创建可实现对象模型的自定义 WCF 服务(这是在 SharePoint Foundation 中创建 Web 服务的推荐方法)的信息,请参阅演练:在 SharePoint Foundation 中创建和实现自定义 WCF 服务。