GetListItems не возвращает элементы в SharePoint 2013

#sharepoint #sharepoint-2010 #sharepoint-2013 #caml

#sharepoint #sharepoint-2010 #sharepoint-2013 #caml

Вопрос:

Мы запрашиваем метод веб-сервиса SharePoint 2013 — GetListItems для извлечения списка элементов в списке, но он возвращает 0 элементов. Странно то, что тот же фрагмент кода работал для SharePoint 2010, поскольку он использовался для возврата списка файлов в указанном списке sharepoint, однако после обновления до SharePoint 2013 он возвращает 0 элементов даже без каких-либо исключений.

Ниже приведены параметры, передаваемые методу GetListItems.

 <GetListItems xmlns="http://schemas.microsoft.com/sharepoint/soap/">
<listName>Accounts</listName>
<query>
<Query xmlns="">
<Where><Contains><FieldRef Name="FileDirRef" /><Value Type="Text">foldertoread</Value></Contains></Where>
</Query></query>
<viewFields><ViewFields xmlns="" /></viewFields>
<rowLimit>50</rowLimit>
<queryOptions>
<QueryOptions xmlns=""><Folder>foldertoread</Folder></QueryOptions>
</queryOptions>
</GetListItems>
  

Ответ №1:

Похоже, в SharePoint2013 было внесено небольшое изменение в способ восприятия тега. Вместо указания имени папки нам пришлось указать полный путь к папке, чтобы это сработало.

Изменен список параметров, который работал:

 <GetListItems xmlns="http://schemas.microsoft.com/sharepoint/soap/">
<listName>Accounts</listName>
<query>
<Query xmlns="">
<Where><Contains><FieldRef Name="FileDirRef" /><Value Type="Text">foldertoread</Value></Contains></Where>
</Query></query>
<viewFields><ViewFields xmlns="" /></viewFields>
<rowLimit>50</rowLimit>
<queryOptions>
<QueryOptions xmlns=""><Folder>Accounts/foldertoread</Folder></QueryOptions>
</queryOptions>
</GetListItems>