Как пропустить поля в ответе GetListItemChanges (через запрос) - PullRequest
0 голосов
/ 12 марта 2012

У меня есть приложение, которое подключается к веб-сервису SharePoint.Для этого нужно определить, какие элементы изменены, и сохранить поля Modified, UniqueId и FileRef.Чтобы получить эти данные, я использую метод Lists.GetListItemChanges'а веб-сервиса.Это дало мне правильные данные, но было очень медленным из-за объема данных, все поля (включая содержимое страницы) были возвращены мне.

Итак, после чтения Lists.GetListItemChanges документации на MSDNя использовал параметр ViewFields с таким узлом, как <ViewFields><FieldRef Name="Modified" /><FieldRef Name="UniqueId" /><FieldRef Name="FileRef" /></ViewFields>.В документации сказано «Элемент ViewFields, который указывает, какие поля возвращать в запросе и в каком порядке».

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

1 Ответ

0 голосов
/ 03 ноября 2012

Есть несколько полей, которые всегда будут возвращены.H Как бы то ни было, вы можете ограничить необязательные поля следующим образом:

    <?xml version="1.0" encoding="utf-8"?>
    <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
        <soap:Body>
            <GetListItemChanges xmlns="http://schemas.microsoft.com/sharepoint/soap/">
                <listName>Team Discussion</listName>
                  <viewFields>
                    <ViewFields>
                      <FieldRef Name="DiscussionTitle"/>
                      <FieldRef Name="Modified"/>
                      <FieldRef Name="MyEditor"/>
                    </ViewFields>
                  </viewFields>
                <since>2012-1-22</since>
            </GetListItemChanges>
        </soap:Body>
    </soap:Envelope>

, несмотря на это, я не могу подавить эти поля:

  • ows_MetaInfo
  • ows__ModerationStatus
  • ows__Level
  • ows_ID
  • ows_UniqueId
  • ows_owshiddenversion
  • ows_FSObjType
  • ows_Created * 1021s * 10P * 221023 *
  • ows_FileRef

Бьюсь об заклад, изменяются не подавляемые поля в зависимости от определения списка.Мой пример - список обсуждений

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...