zoukankan      html  css  js  c++  java
  • 【WebServices】调用 SharePoint WebServices 注意事项

    最近两三天被SharePoint的Web Services搞得晕头转向,网上查了一大堆例子,就没一个做得成的。没有一个可供下载的完整的源代码,从代码行间又觉察不出哪里有问题。一开始是弄不明白WSlists是个什么类,后来又碰到GetListCollection、GetListItems获取不到所需内容……周围无人可问,自己整个瘫掉,最终还是在国外朋友的一言半语中找到了问题的根源(中文的怎么就搜不到?),在这里和各位共享一下~

    •  首先,要调用SharePoint的Web Services,必须为工程添加 Web 引用(如图)。

     

    注意这里填写的Web 引用名,就是我之前一直找不到的“WSlists类”——其实是通过添加了引用生成的,也可以起别的名字,比如也有的人喜欢起spwsLists这种。

    •  关于GetListCollection() ,默认情况下,它会返回根站点下的所有list(注意,不管你在添加 Web 引用时指定的是根站点URL还是 根站点\子站点 URL,都是如此)。在上图中,填写的URL,指定的是testsite子站点,但事实上在调用GetListCollection()时还是返回了根站点的list。如果要筛选返回指定(子)站点的list,必须修改.Url属性值(即wsLists.Url = "http://www.gl.com:8800/testsite/_vti_bin/lists.asmx"这样,wsLists是一个WSLists对象)。

    [* 注意:/_Vti_bin/... 前面填写的是站点(可以含子站点)Url,而不能是具体到列表的Url,“http://www.gl.com:8800/testsite/mylist/_vti_bin/lists.asmx” 则是错误的]

    •  同样的,只有在设置了.Url属性值后,GetListItems()才能正确获取列表项,而且GetListItems方法的第一个参数,要求指定listName,建议输入列表的ID(MSDN例子也这样写)。


    •  使用Web Service进行列表操作时,涉及到书写CAML语句的, 指定某个列表栏目时,应使用<FieldRef Name="栏目内部名称">,同时Name不能为中文的(因为内部名称不会有中文的)。

     •  “调用Web服务:请求因HTTP状态401失败:Unauthorized” 解决方法

  • 相关阅读:
    tcp_wrapper
    iptables
    Openstack_后端存储平台Ceph
    Openstack_O版(otaka)部署_Horizon部署
    Openstack_O版(otaka)部署_网络服务Neutron部署
    Openstack_O版(otaka)部署_Nova部署
    Openstack_O版(otaka)部署_镜像服务glance部署
    Openstack_O版(otaka)部署_认证服务keystone部署
    Openstack_O版(otaka)部署_准备环境和依赖软件
    模块
  • 原文地址:https://www.cnblogs.com/glife/p/1600899.html
Copyright © 2011-2022 走看看