SharePoint Lists.asmx的UpdateListItems()返回太多数据

时间:2011-01-05 22:57:59

标签: sharepoint size response wss-3.0

有没有办法阻止SharePoint的Lists.asmx端点中的UpdateListItems()Web服务调用返回新创建或更新的列表项的字段的所有?在我们的例子中,附加到我们的自定义列表的事件处理程序添加了一些相当大的字段值,这些字段值不必要地转向客户端。

有没有办法告诉它只返回新创建(或更新)列表项的ID?

例如,目前Web服务返回如下内容:

<Results xmlns="http://schemas.microsoft.com/sharepoint/soap/">
   <Result ID="1,Update">
      <ErrorCode>0x00000000</ErrorCode>
      <z:row ows_ID="4" ows_Title="Title" 
         ows_Modified="2003-06-19 20:31:21" 
         ows_Created="2003-06-18 10:15:58" 
         ows_Author="3;#User1_Display_Name" 
         ows_Editor="7;#User2_Display_Name" ows_owshiddenversion="3" 
         ows_Attachments="-1" 
         ows__ModerationStatus="0" ows_LinkTitleNoMenu="Title" 
         ows_LinkTitle="Title" 
         ows_SelectTitle="4" ows_Order="400.000000000000" 
         ows_GUID="{4962F024-BBA5-4A0B-9EC1-641B731ABFED}" 
         ows_DateColumn="2003-09-04 00:00:00" 
         ows_NumberColumn="791.00000000000000" 
         xmlns:z="#RowsetSchema" />
   </Result>
   ...
</Results>

我正在寻找仅包含例如ows_ID属性的修剪响应:

<Results xmlns="http://schemas.microsoft.com/sharepoint/soap/">
   <Result ID="1,Update">
      <ErrorCode>0x00000000</ErrorCode>
      <z:row ows_ID="4" />
   </Result>
   ...
</Results>

我没有成功地查找记录了<Batch><Method>标签的所有有效属性的资源,他更新了UpdateListItems()的XmlNode参数,希望我能找到一种方法指定要返回的字段。

WSS 3.0的解决方案优于仅限SP 2010的解决方案。

2 个答案:

答案 0 :(得分:1)

我认为你对wss3 / moss2007没有好运。在SP2010中,RESTful接口以及构建在RESTful接口之上的客户端对象模型具有更多选择返回项目的选项。你可以调查一下。

答案 1 :(得分:0)

通常,为了从SharePoint表单库中获取数据,将获取与SharePoint列表的接收数据连接。但是这种数据连接存在一些缺点:

它仅提供默认视图中项目的数据。因此,如果项目限制为100,则仅接收前100个项目数据。 无法查询以获取有关SharePoint表单库中特定数量项目的信息。 要解决这两个问题,我们可以将数据连接到列表SharePoint Web服务中的GetListItems方法。需要注意的一点是,您要查询的任何数据都需要出现在视图中。

无法获取与GetListItems方法的直接数据连接,并且此HowTo显示了如何使用数据连接以及如何使用它来查询项目。