简述:在SharePoint的使用中,经常需要进行系统集成这样的操作,我们作为SharePoint开发,就需要给其他系统提供接口,而SharePoint提供的WebService就很好的提供了这样的功能,我们简单了解下,通过SharePoint提供WebService对列表进行操作

步骤:

1、 首先,新建一个控制台程序,添加WebService的引用

地址http://<site>/_vti_bin/Lists.asmx

<site>为网站的地址,包括端口号

2、引用 - 右键 - 添加服务引用(如图1)– 高级 – 添加Web引用 – URL处填写WebService地址(如图2)

(图1)

(图2)

3、 获取List信息

try

{

WebServices1.Lists listService = new GetListTest.WebServices1.Lists();

listService.Credentials = System.Net.CredentialCache.DefaultCredentials;

XmlNode ndLists = listService.GetList("Test");//参数列表名,String类型

Console.Write(ndLists.OuterXml);

}

catch (Exception ex)

{

Console.Write(ex.Message);

}

4、 获取List信息结果

5、 获取ListItem信息

//获取ListItem信息

WebServices1.Lists listService = new GetListTest.WebServices1.Lists();

listService.Credentials = System.Net.CredentialCache.DefaultCredentials;

XmlDocument xmlDoc = new System.Xml.XmlDocument();

XmlNode ndQuery = xmlDoc.CreateNode(XmlNodeType.Element, "Query", "");

XmlNode ndViewFields = xmlDoc.CreateNode(XmlNodeType.Element, "ViewFields", "");

XmlNode ndQueryOptions = xmlDoc.CreateNode(XmlNodeType.Element, "QueryOptions", "");

ndQueryOptions.InnerXml = ""; //Query设置

ndViewFields.InnerXml = ""; //视图设置

ndQuery.InnerXml = ""; //Caml语句

try

{

XmlNode ndListItems = listService.GetListItems("Test", null, ndQuery, ndViewFields, "1", ndQueryOptions, null); //获取列表内容

Console.Write(ndListItems.OuterXml); //输出获取的Xml内容

}

catch (System.Web.Services.Protocols.SoapException ex)

{

}

6、 获取ListItem信息结果

7、 修改ListItem项

WebServices1.Lists listService = new WebServices1.Lists();

listService.Credentials = System.Net.CredentialCache.DefaultCredentials;

string strBatch = "<Method ID='1' Cmd='Update'>" +//cmd参数,Update为更新,还有New、Delete

"<Field Name='ID'>1</Field>" +//Name属性为字段名称,里面为字段值

"<Field Name='Title'>这个已经被修改了</Field></Method>";

XmlDocument xmlDoc = new System.Xml.XmlDocument();

System.Xml.XmlElement elBatch = xmlDoc.CreateElement("Batch");

elBatch.InnerXml = strBatch;

XmlNode ndReturn = listService.UpdateListItems("Test", elBatch);//第一个参数是列表名

Console.Write("操作成功");

8、修改ListItem后的结果

8、 以上是几个操作List的WebService的示例,自己也是参考微软的示例代码,读取出来的信息是Xml,然后在Xml中获取我们需要的信息就可以了。

Lists的SDK地址: http://msdn.microsoft.com/zh-cn/library/websvclists.lists_methods(v=office.12).aspx

******************************************************************************

  作者:霖雨

  出处:http://www.cnblogs.com/jianyus

  本文版权归 霖雨和博客园共有,欢迎转载,但请注明出处。

SharePoint 调用WebService操作List小记的更多相关文章

  1. 利用ksoap调用webservice

    博文参考: http://www.cnblogs.com/shenliang123/archive/2012/07/05/2578586.html http://blog.csdn.net/jimbo ...

  2. Android通过ksoap2这个框架调用webservice大讲堂

    昨天有人问我Android怎么连接mysql数据库,和对数据库的操作呀,我想把,给他说说json通信,可是他并不知道怎么弄,哎算了吧,直接叫他用ksoap吧,给他说了大半天,好多零碎的知识,看来还是有 ...

  3. ASP.NET实现二维码 ASP.Net上传文件 SQL基础语法 C# 动态创建数据库三(MySQL) Net Core 实现谷歌翻译ApI 免费版 C#发布和调试WebService ajax调用WebService实现数据库操作 C# 实体类转json数据过滤掉字段为null的字段

    ASP.NET实现二维码 using System;using System.Collections.Generic;using System.Drawing;using System.Linq;us ...

  4. Android调用WebService

    这两天给老师做地铁app的demo,与后台的交互要用WebService,还挺麻烦的.所以想写点,希望有用. Web Services(Web服务)是一个用于支持网络间不同机器互操作的软件系统,它是一 ...

  5. 【Java EE 学习 80 下】【调用WebService服务的四种方式】【WebService中的注解】

    不考虑第三方框架,如果只使用JDK提供的API,那么可以使用三种方式调用WebService服务:另外还可以使用Ajax调用WebService服务. 预备工作:开启WebService服务,使用jd ...

  6. C#调用WebService

    1.1.Web Service基本概念 Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求, ...

  7. C#调用WebService (转)

    1.1.Web Service基本概念 Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求, ...

  8. 搭建调用 WebService 的 ASP.NET 网站 (VS2010, C#)

    [系统环境]Windows 7 / 2008r2 [软件环境]Visual Studio 2010 [开发语言]C# [感谢]本文是在 <C#开发和调用Web Service> 一文的基础 ...

  9. 在Android中调用WebService

    某些情况下我们可能需要与Mysql或者Oracle数据库进行数据交互,有些朋友的第一反应就是直接在Android中加载驱动然后进行数据的增删改查.我个人不推荐这种做法,一是手机毕竟不是电脑,操作大量数 ...

随机推荐

  1. Unity插件 - MeshEditor(六) 变形动画状态机

    变形动画状态机--MeshAnimator,是针对MeshAnimation的状态管理器,有大量类似Unity animator的功能,但MeshAnimator操作会更加简便,更加直观,居家旅(zh ...

  2. Maven创建EJB

    开发工具: eclipse mars wildfly jdk8 maven 右键新建project,选择other 勾选create simple project 填写信息(自行填写),完成后右键项目 ...

  3. UNIX网络编程——I/O复用:select和poll函数

    我们看到TCP客户同时处理两个输入:标准输入和TCP套接字.我们遇到的问题是就在客户阻塞于(标准输入上)fgets调用,服务器进程会被杀死.服务器TCP虽然正确的给客户TCP发送了一个FIN,但是既然 ...

  4. 打Patch实践

    一.找到相应PATCH 确认系统已安装模块版本. SELECTapp.application_short_name, app.application_name, pi.patch_level   FR ...

  5. 学生信息管理小系统(以XML为存储方式)

    为了更好地应用XML,就写了这个小项目. 下面是我的项目的目录结构 项目思路 dao是Date Access Object 数据访问层,主要是负责操作数据 domain是实体层,类似于bean层,放置 ...

  6. 采购申请 POCIRM-001:ORA-01403: 未找到任何数据

    今天同事让帮忙看一个问题,在销售模块提交销售订单生成采购订单的请求时报错 查看请求日志 +------------------------------------------------------- ...

  7. iOS中 FMDB第三方SQLite数据库 UI_20

    1.什么是FMDB? FMDB是iOS平台下SQLite数据库,只不过它是OC方式封装了C语言的SQLite语句,使用起来更加面向对象 2.FMDB的优点:1.使用起来更加面向对象; 2.对比苹果自带 ...

  8. oracle ebs应用产品安全性-安全性规则

    定义: 通过为段指定包括下限值与上限值的值范围,可以定义安全性规则要素.安全性规则要素适用于包括在指定值范围内的所有段值. 可以将每个安全性规则要素标识为"包括"或"排除 ...

  9. Android启动过程分析

    Android系统启动过程 首先看一张Android框架结构图 Linux内核启动之后就到Android Init进程,进而启动Android相关的服务和应用. 启动的过程如下图所示:(图片来自网上, ...

  10. 【Linux 操作系统】Ubuntu 配置 ftp freemind adb

    . 1. 配置apt-get源 配置过程 : sudo vim /etc/profile 命令, 在后面添加下面的内容; 刷新配置文件 : source /etc/profie 命令; 刷新源 : s ...