SharePoint的WebService的应用
来源:互联网 发布:java 汉字字符比较多大 编辑:程序博客网 时间:2024/05/16 00:46
SharePoint自带了WebService,通常情况下是跨服务器的访问,因为同一服务器上不同网站可以简单的通过提升权限代码就可以访问数据。
以跨服务器读取某个list为例,对项目添加“http://<server-url>/_vti_bin/Lists.asmx”和“http://<server-url>/_vti_bin/SiteData.asmx”的引用。
对两个引用的命名分别为ListService和SiteDataService
//访问列表库,通过CAML查询返回的是一个XML文件,不需要解析直接给DataSet类型赋值
public static DataSet GetItems()
{
ListService.Lists listsWS = new ListService.Lists();
//listsWS.Credentials = System.Net.CredentialCache.DefaultCredentials; //该句在编译环境可以代替下一句,但是跨服务器应用肯定要用下一句
listsWS.Credentials = new NetworkCredential(用户名, 密码, 域名);
XmlDocument doc = new System.Xml.XmlDocument();
doc.LoadXml("<Document><Query><Where>CAML</Where></Query><ViewFields /><QueryOptions /></Document>");
XmlNode listQuery = doc.SelectSingleNode("//Query");
XmlNode listViewFields = doc.SelectSingleNode("//ViewFields");
XmlNode listQueryOptions = doc.SelectSingleNode("//QueryOptions");
Guid g = GetWebID();
XmlNode items = listsWS.GetListItems("ListName", string.Empty, listQuery, listViewFields, string.Empty, listQueryOptions, g.ToString());
NameTable nt = new System.Xml.NameTable();
XmlNamespaceManager nsMgr = new XmlNamespaceManager(nt);
nsMgr.AddNamespace("w", "http://schemas.microsoft.com/office/word/2003/2/wordml");
XmlNode y = items.SelectSingleNode("*", nsMgr);
DataSet ds = new DataSet();
if (y != null)
{
XmlReader xmlReader = new XmlTextReader(y.InnerXml, XmlNodeType.Element, null);
ds.ReadXml(xmlReader);
}
return ds;
}
private static Guid GetWebID()
{
SiteDataService.SiteData siteDataWS = new sinopecSiteData.SiteData();
siteDataWS.Credentials = new NetworkCredential(用户名, 密码, 域名);
SiteDataService._sWebMetadata webMetaData;
SiteDataService._sWebWithTime[] arrWebWithTime;
SiteDataService._sListWithTime[] arrListWithTime;
SiteDataService._sFPUrl[] arrUrls;
string roles; string[] roleUsers; string[] roleGroups;
uint i = siteDataWS.GetWeb(out webMetaData, out arrWebWithTime, out arrListWithTime, out arrUrls, out roles, out roleUsers, out roleGroups);
Guid g = new Guid(webMetaData.WebID);
return g;
}
以上代码要特别注意两点:
1。身份验证。对web引用可以直接在webconfig里面直接修改地址,相应的修改代码中的验证登录信息就可以,建议都弄到配置文件里,方便统一维护。
2。解析XML。
以下是引用的service对应的映射列表
- SharePoint的WebService的应用
- SharePoint的WebService的应用
- SharePoint的WebService的应用
- Silverlight 2beta2 调用 SharePoint的WebService......
- WebService的应用(一)
- WebService的应用(二)
- WebService的应用(三)
- webservice的简单应用
- php webservice的应用
- XFire的webservice应用
- SharePoint 中利用WebService 进行文件操作的类
- SharePoint 中利用WebService 进行文件操作的类
- sharepoint修改webapplication应用端口的语句
- elicpse+maven的webservice应用
- PHP的企业应用-WebService
- WebService之axis的应用
- cxf+Spring的webservice应用
- Android中WebService的应用
- 使用了开源的jsoup进行解析html
- 算法导论15 dp 最高效益调度
- AbsSeekBar
- 实战java中资金计算的要点-BigDecimal
- this的使用方法和static关键字的作用
- SharePoint的WebService的应用
- ubuntu11.04上安装中文输入法scim-googlepinyin
- HreoWinGauge2.0组件集应用示例----速度表(2)
- Linux的软链接和硬链接
- LinearLayout控件居中问题
- listview
- Apache Rewrite实现URL的跳转和域名跳转
- treeview
- 容量单位