简述:给其他系统提供集成,发现SharePoint自带的WebService各种不好使,索性就自己写一点,也当做自己学习的记录了。当然内容比较简单,希望大侠们不要介意,也不要骂我啊。好了,进入正题吧。

1、 首先,使用VS2008新建一个WebService的项目,选择Asp.net Web服务应用程序,然后输入项目名称

2、 添加引用

添加Microsoft.SharePoint.dll文件的引用,因为我们需要使用SharePoint的对象模型来读取列表信息,Dll文件的位置是C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\ISAPI\Microsoft.SharePoint.dll

3、 添加函数

函数前面写上[WebMethod]标记,然后定义我们自己需要的方法,方法的参数和返回值,在方法里面,写我们的调用,我的代码就是个简单的例子,返回的也都是String类型,如果操作失败,则返回为空。

GetListItem(string WebUrl,string ListName,int ID)//获取列表项,传参分别为网站地址、列表名、ID

public string GetWebID(string WebUrl)//获取网站的WebID属性

[WebMethod]

public string GetWebID(string WebUrl)

{

try

{

SPSite site = new SPSite(WebUrl);

SPWeb web = site.OpenWeb();

return web.ID.ToString();

}

catch (Exception ex)

{

return "";

}

}

[WebMethod]

public string GetListItem(string WebUrl, string ListName, int ID)

{

try

{

SPSite site = new SPSite(WebUrl);

SPWeb web = site.OpenWeb();

SPListItem item = web.Lists[ListName].Items[ID];

String rt = "标题:" + item["Title"].ToString() + "内容:" + item["内容"].ToString();

return rt;

}

catch (Exception ex)

{

return "";

}

}

4、 发布WebService后测试

发布到IIS以后,打开我们的WebService,可以看到我们的自定义的两个方法,都在WebService中了。

5、 使用两个函数

我们可以分别测试下我们的两个函数,点击我们的函数,可以进入下面的界面,输入我们的参数,调用即可。

6、 调用结果

如果,可以看出我们调用的结果,下面第一张图是GetListItem(string WebUrl,string ListName,int ID)函数的,第二张图是GetWebID(string WebUrl)的结果。

小结

好了,我的博客记录今天就写到这里,环境大家多多提意见,打击我刚刚催生的小自信!

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

作者:霖雨

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

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

SharePoint 列表项通过自定义WebService读取的更多相关文章

  1. SharePoint REST API - 同步SharePoint列表项

    博客地址:http://blog.csdn.net/FoxDave 本篇只讲REST服务中的GetListItemChangesSinceToken这个东西.何谓同步呢,你也可以理解为增量变化,即 ...

  2. 复制SharePoint列表项(SPListItem)到另一个列表

    从理论上讲,有一个简单到难以置信的解决办法:SPListItem提供了一个CopyTo(destinationUrl)方法(可参考MSDN).不幸的是,这个方法似乎用不了.至少对我的情况(一个带附件的 ...

  3. 如何:对 SharePoint 列表项隐藏 ECB 中的菜单项

    可以通过使用功能框架向编辑控制块 (ECB) 菜单添加新的自定义操作.但是,您不能使用此方法进行相反的操作,即隐藏现有的 ECB 菜单项,因为它们是通过使用 ECMAScript(JavaScript ...

  4. 限制用户不能删除SharePoint列表中的条目(项目)

    概述 SharePoint列表提供了一个用于在线协作的电子表格,不同的用户可以同时在不同的地方编辑一套数据. 列表功能在收集用户信息.提供审批流程方面为办公人员提供了非常便捷的好处. 既然是协作办公, ...

  5. 每日学习心得:SharePoint 2013 自定义列表项添加Callout菜单项、文档关注、SharePoint服务端对象模型查询

    前言: 前一段时间一直都比较忙,没有什么时间进行总结,刚好节前项目上线,同时趁着放假可以好好的对之前遇到的一些问题进行总结.主要内容有使用SharePoint服务端对象模型进行查询.为SharePoi ...

  6. SharePoint 2013 自定义翻页显示列表项

    项目需求:自定义开发一个能分页显示列表项的小部件,允许左右翻页,能根据用户权限来显示管理链接等. 效果如下: 技术要求:使用sharepoint rest API 来获取列表项,这样性能高,能够快速响 ...

  7. SharePoint 2010 匿名用户调用Client Object Model访问列表项

    最近有个小需求,在门户首页上加个通知公告的版块,新闻来源是列表项,需要有垂直滚动的效果. 第一个想法就是通过SharePoint的Client Object Model获取列表数据再加上JQuery来 ...

  8. 好神奇的代码,可以让匿名用户对特定SharePoint 列表拥用添加列表项的权限哦

    如果你不使用代码,很难从界面上去设置列表的匿名用户(如果可以请告诉我,我会自动删除这个博文)拥有列表项的添加权限. 其实这种需求是非常必要的,比如: 1.允许新用户去提交一个注册申请, 2.在召集临时 ...

  9. SharePoint 2010 列表项事件接收器 ItemAdded 的使用方法

    列表项事件处理器是继承于Microsoft.SharePoint.SPItemEventReceiver的类,Microsoft.SharePoint.SPItemEventReceiver类提供了许 ...

随机推荐

  1. Android实现分享图片和文字的功能

    为了应用的推广,我们经常看到点击分享按钮会出现,比如微博微信等应用的分享二等列表,这是如何实现的呢?这一篇将要详细的介绍. android的实现分享是通过隐式的启动activity. 分享文本 1.a ...

  2. MySQL 视图技术

    以前也只是知道数据库中有视图这么个概念,但是没有去深究,今天正好有时间,就来总结一下吧. 视图的定义 视图就是从一个或多个表中,导出来的表,是一个虚拟存在的表.视图就像一个窗口(数据展示的窗口),通过 ...

  3. 【java虚拟机序列】java中的垃圾回收与内存分配策略

    在[java虚拟机系列]java虚拟机系列之JVM总述中我们已经详细讲解过java中的内存模型,了解了关于JVM中内存管理的基本知识,接下来本博客将带领大家了解java中的垃圾回收与内存分配策略. 垃 ...

  4. jar包执行报ClassNotFoundException

    使用Eclipse打包jar包,指定了main class. java -jar mongoCluster.jar 但是运行的时候报ClassNotFoundException NoClassDefF ...

  5. 深入浅出Tabhost+简单入门Demo

    小伙伴们在手机上逛淘宝的时候,会发现在淘宝的下面有个按钮,分别是首页.微淘.社区.购物车和我的淘宝,点击不同的按钮会跳转到不同的页面,目前小编所接手的这个项目,也需要用到类似这样的功能,小编就发挥网络 ...

  6. android横竖屏切换activity生命周期变化

    1.新建一个Activity,并把各个生命周期打印出来 2.运行Activity,得到如下信息 onCreate--> onStart--> onResume--> 3.按crtl+ ...

  7. 【一天一道LeetCode】#155. Min Stack

    一天一道LeetCode 本系列文章已全部上传至我的github,地址:ZeeCoder's Github 欢迎大家关注我的新浪微博,我的新浪微博 欢迎转载,转载请注明出处 (一)题目 Design ...

  8. Sqoop执行mysql删除语句

    如果使用Sqoop删除mysql中的数据,并且传递动态日期参数,则使用下方的方法: 创建一个sh文件,内容如下: #!/bin/sh ## 环境变量生效 . /etc/profile #[调度删除导入 ...

  9. Windows7 x64 跨平台开发环境安装配置

    ======================================================================= Windows7 x64 跨平台开发环境安装配置 201 ...

  10. 老司机带你玩转web service

    当大型需求被数个公司分割开来,各公司系统相互交换数据的问题就会接踵而来.毕竟是多家不同的公司的产品,研发开发语言.采用技术框架基本上是百花齐放.怎样让自家系统提供的服务具有跨平台.跨语言.跨各种防火墙 ...