注意:REST在2000年被Roy Fielding----他是HTTP说明的主要作者之一----引入,来描述万维网非文档式架构设计原则。
和SharePoint作为SOAP service提供者和客户端一样,它也作为REST service提供者和客户端。这使得你可以使用SharePoint Designer创建解决方案----消费来自REST service的XML数据,包括从SharePoint REST接口抽取的XML数据。和SharePoint SOAP service接口数相比,SharePoint REST接口数少。以下是两个SharePoint 2010 REST接口:
1. ListData.svc----提供访问列表和库数据。
2. ExcelRest.aspx----允许发现和访问电子表格中的数据和对象。这个REST接口只有在SharePoint Server企业版可用。
REST使用基于URL语法抽取XML数据。此语法是可预见的,因此被技术聪慧的用户推断出来。使用ListData.svc抽取数据的语法格式是http://<site>/ vti bin/ListData.svc/<list name>(<row>)/<columnname>/<options>,其中ListData.svc右边条目是可选的。例如http://wideworldimporters/ vti bin/ListData.svc/SalesReport(1)/Brand只返回SalesReport列表中第一行的Brand栏值。
你可以附加查询字符串到URL来指定筛选标准或查询逻辑。例如,下面URL返回来自Customer、Brand和Quantity Purchased栏的值(条件是SalesReport列表名字首字母为C的客户)--- http://wideworldimporters/ vti bin/ListData.svc/SalesReport?$filter startswith(Customer, ‘C’)&$select Customer,Brand,QuantityPurchased。
小贴士:REST查询时大小写敏感,且移除空格的;因此列表、库和栏目名的拼写可能和你想象的不一样。当你创建REST查询时有用的选择是使用$metadata参数。这个参数允许你查看列表数据的架构,你可以用来检查拼写。例如http://wideworldimporters/ vti bin/ListData.svc/$metadata。
本练习中,你创建一个REST service连接。
准备:在SharePoint Designer打开站点,打开DataSourceTest.aspx页和数据源库页面。
1. 点击数据源库页面,点击REST Service连接。
2. 输入URL---- http://<site>/_vti_bin/ListData.svc,其中<site>是你的SharePoint站点。
3. 在常规选项卡输入名称:Lists and Libraries on site。
4. 在登陆选项卡,选中“保存此数据连接中的用户名和密码。输入用户名和密码。
重要:用户名和密码是通过网络作为明文传输,是个安全隐患。
5. 点击确定。
6. 点击确定,关闭警告信息。
8. 在PlaceHolderMain区域,点击“点击此处选择数据源”选中Lists and Libraries on site,点击确定。
数据源详细信息任务窗格显示XML根元素service,包含workspace和collection子元素。collection元素包含href(URL)和每个列表和库的标题,包括任何隐藏的列表或库。注意任何列表或库,如果名称中有空格,当在REST接口中引用时,都会被移除。
故障分析:如果在数据源详细信息任务窗格中显示错误信息,服务器返回非指定错误,请在浏览器地址输入http://<site>/ vti bin/ListData.svc。如果这产生错误信息System.Data.Services.Providers.IDataServiceUpdateProvider不能从程序集中加载,它可能是没有安装正确的ADO.NET Data Service版本。确保安装ADO.NET Data Services Update for .NET 3.5 SP1在微软下载中心可以找到。确保你安装了针对运行SharePoint服务器操作系统的正确更新。