SharePoint也作为SOAP service provider(ASP.NET Web service),给其他电脑系统提供XML数据。使用SharePoint Designer,你可以创建“使用ASP.NET service web service请求并非存储在你的团队网站数据”的客户端应用程序。SharePoint SOAP service接口查询机制需要使用Collaborative Application Markup Language(CAML),它是一个特定于SharePoint技术的属性标记语言。一些数据的抽取可能比较复杂,需要开发者的技巧。
SharePoint 2010引入提供数据到远程系统的新方法----客户端对象模型和SharePoint Foundation REST接口。和ASP.NET Web service相比,倾向于使用这两个provider。然而,SharePoint Foundation REST接口(下一部分详述),只能从列表和库中抽取信息;需要开发者技巧来使用客户端对象模型。但是,当你使用SharePoint Designer创建你的解决方案时,可能发现SharePoint Foundation和SharePoint Server Web services是有用的。
本次练习中,你添加SOAP service连接作为数据源。
准备:使用SharePoint Designer打开之前练习的站点。打开DataSourceTest.aspx页和数据源库页面。
1. 点击数据源库页面,在数据源选项卡点击SOAP Service Connection。
2. 在“服务说明位置”框输入http://<site>/_vti_bin/webs.asmx?wsdl。<site>是网站集顶层网站的URL。点击“立即连接”。
小贴士:如果你不能连接到SOAP service连接或者你收到错误消息----服务器返回非特定错误或者使用浏览器不能查看Web部件,检查服务器的拼写和SOAP service _vti_bin/webs.asmx?wsdl。如果你忘记在SOAP service名后输入?wsdl,SharePoint Designer自动附上。你可以在子站点级别连接到其他SOAP services,这时service description location变为如,http://<site>/_vti_bin/lists.asmx,<site>是你使用本章节的.wsp文件创建的子站点,如wideworldimporters/datasources。
SharePoint Designer连接到主持SOAP service的服务器,并使用它从SOAP service provider那儿接收的响应填充对话框。
Webs在<site>数据连接出现在数据源库页面中的SOAP service下。
5. 在PlaceHolderMain区域,点击“点击此处选择数据源”,选中Webs on <site>,并点击确定。
数据源详细信息任务显示XML根元素soap:Envelope,它包含许多子元素。每个Web元素包含网站集中一个网站的标题和URL。
效果图: