CAML XML数据源不会从Web服务GetListItem中提取所有行

时间:2017-07-10 09:08:13

标签: sharepoint reporting-services caml

我有一个查看XML sharepoint数据源的CAML查询。以下是我的查询,它确实拉出结果,但不是所有列,有些看起来是奇怪的格式enter image description here

它似乎没有从数据源中获取我的所有列表项列。任何人都可以看到我的CAML XML有什么问题吗?请注意它是一个日历共享点。是否可以更改我的CAML XML以查看allitems.aspx页面,该页面是日历视图的列表。

<Query>
<SoapAction>http://schemas.microsoft.com/sharepoint/soap/GetListItems</SoapAction>
  <Method Namespace="http://schemas.microsoft.com/sharepoint/soap/" Name="GetListItems">
    <Parameters>
      <Parameter Name="listName">
        <DefaultValue>Change Control</DefaultValue>
      </Parameter>
      <Parameter Name="queryOptions" Type="xml">
        <DefaultValue>
          <QueryOptions>
                      <ViewAttributes Scope="Recursive" />
         </QueryOptions>
        </DefaultValue>
      </Parameter>
    </Parameters>
  </Method>
<ElementPath IgnoreNamespaces="True">*</ElementPath>
</Query>

1 个答案:

答案 0 :(得分:0)

是 - 您缺少viewFields参数,这是您自定义GetListItems响应中包含的字段的方式。 GetListItems请求的可能参数是(reference):

public XmlNode GetListItems (
    string listName,
    string viewName,
    XmlNode query,
    XmlNode viewFields,
    string rowLimit,
    XmlNode queryOptions,
    string webID
)

您已经拥有listNamequeryOptions,因此您拥有所需的结构;只需添加另一个参数并根据需要填充它。例如:

<Parameter Name="viewFields" Type="xml">
    <DefaultValue>
        <ViewFields>
            <FieldRef Name="Field1" />
            <FieldRef Name="Field2" />
            ...
        </ViewFields>
    </DefaultValue>
</Parameter>