2017-02-13 3 views
1

Я использую пользовательский интерфейс SOAP для запроса списка Sharepoint. Вот мой ** ** обновлен SOAP Request:Sharepoint Запрос списка с подкачкой

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soap="http://schemas.microsoft.com/sharepoint/soap/"> 
    <soapenv:Header/> 
    <soapenv:Body> 
     <soap:GetListItems> 
     <!--Optional:--> 
     <soap:listName>Example</soap:listName> 
     <!--Optional:--> 
     <soap:viewName>{AAAAA-AAAA-AAA-AAAAA}</soap:viewName> 
     <!--Optional:--> 
     <soap:query> 
      <Query> 
      </Query> 
     </soap:query> 
     <!--Optional:--> 
     <soap:viewFields> 
      <ViewFields> 
       <FieldRef Name="Author" /> 
        <FieldRef Name="ContentType" /> 
        <FieldRef Name="ContentTypeId" /> 
      </ViewFields> 
     </soap:viewFields> 
     <!--Optional:--> 
     <soap:rowLimit>1000</soap:rowLimit> 
     <!--Optional:--> 
     <soap:queryOptions> 
      <QueryOptions> 
        <ViewAttributes Scope="RecursiveAll"/> 
      </QueryOptions> 
     </soap:queryOptions> 
     <!--Optional:--> 
     <soap:webID></soap:webID> 
     </soap:GetListItems> 
    </soapenv:Body> 
</soapenv:Envelope> 

Я получаю ошибку ниже, когда я запускаю это:

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> 
    <soap:Body> 
     <soap:Fault> 
     <faultcode>soap:Server</faultcode> 
     <faultstring>Exception of type 'Microsoft.SharePoint.SoapServer.SoapServerException' was thrown.</faultstring> 
     <detail> 
      <errorstring xmlns="http://schemas.microsoft.com/sharepoint/soap/">The query cannot be completed because the number of lookup columns it contains exceeds the lookup column threshold enforced by the administrator.Operations that exceed the list view threshold are allowed in the following time window defined by the administrator: &lt;br/>&lt;b>Daily, from 7:00:00 PM to 11:00:00 PM . &lt;/b></errorstring> 
      <errorcode xmlns="http://schemas.microsoft.com/sharepoint/soap/">0x80070093</errorcode> 
     </detail> 
     </soap:Fault> 
    </soap:Body> 
</soap:Envelope> 

я могу получить доступ к списку в течение часов, указанных в сообщении об ошибке, но есть любой путь через разбиение на страницы или что-то еще, что позволит получить доступ к этому списку за пределами этих часов? Спасибо за любую помощь.

ответ

1

Эта ошибка в жалобах не о количестве полученных результатов, а размере тактируются столбцы поиска, что видно на поле.

Когда вы включаете столбцы поиска в свой запрос CAML, SharePoint должен выполнить некоторую дополнительную работу за кулисами, чтобы запросить связанные списки и получить соответствующую информацию. Это может повлиять на производительность базы данных, поэтому SharePoint по умолчанию использует 8 столбцов поиска по каждому запросу в рабочее время. (В SharePoint 2013 это расширено до 12.) Для получения дополнительной информации см. this Microsoft blog post.

Обратите внимание, что, насколько порог касается «столбцов подстановки» включает в себя столбцы типа Уточняющий и лицо или группа, а также Состояние рабочего процесса столбцов.

Чтобы выполнить запрос в рабочее время, вы можете удалить столбцы из своего вида, пока в представлении больше не отображается более 8 столбцов поиска.

+0

Hi Thriggle, спасибо за ваш ответ. У меня нет доступа администратора к этому списку. Должен ли я быть администратором для изменения этих столбцов? –

+0

В сообщении SOAP указывается GUID представления. ' {AAAA-AAAA-AAAA-AAAAAA}' Если вы не можете отредактировать это представление или создать другое представление, вы можете вместо этого изменить свой SOAP, чтобы указать '', который вы хотите , не забудьте включить не более 8 полей поиска. – Thriggle

+0

Хорошо, я попытаюсь добавить viewFields и посмотреть, поможет ли это. Большое спасибо Thriggle. –

Смежные вопросы