#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>