Lists.asmx, GetListItems и папки

Я делаю некоторые исследования для кого-то сегодня вокруг list.asmx веб-службы в рамках SharePoint 2010 (и более ранних версий).  Она смогла получить элементы списка в корневой папке (включая имена подпапок), но не мог получить предметы в подпапки.  Я сделал некоторые смотрю на Интернет, и это удивительно общий вопрос.  Тем не менее, Я не мог получить хороший ответ на простой вопрос, «Если я знаю папки, как я могу получить элементы в папке?”  Чтобы быть честным, Я не попробовал все, что трудно, так как я хотел рис, это один из моей какое-то время Улыбка.

Чтобы задать этот вопрос, Я создал сайт под названием «Блогов сценариев» и собственный список с именем «Настраиваемого списка с вложенные папки».  Затем я создал папки с именем:

  • Год 2005
  • Год 2006
  • Год 2007

Я добавил несколько пунктов в папку «2006 год».  Это, как он выглядит:

image

Мой друг не писать код C#, но скорее с использованием Java, так что конверт SOAP был то, что она действительно необходима.  Чтобы получить, что, Я написал немного jQuery и затем используется для получения фактической HTTP разговора скрипача..

Вот соответствующие jQuery (Я скопировал код вниз ниже, если вы хотите копировать/вставить):

image

Они первый ключ должен включать как <queryOptions> и <QueryOptions> узел.  Второй ключ заключается в том, что <Папка> узел — это адрес URL, к которому клиент имеет доступ.

Могут быть и другие способы получить эту, но это работает хорошо для меня, когда с помощью jQuery.

Вот конверт SOAP для выше:

<soapenv:Конверт xmlns:soapenv =’HTTP://schemas.xmlsoap.org/SOAP/envelope/’>                
  <soapenv:Тело>
    <GetListItems xmlns =’
HTTP://schemas.Microsoft.com/SharePoint/SOAP/’>
      <listName>Настраиваемый список с вложенные папки</listName>
      <viewFields>  
        <ViewFields>
          <Имя FieldRef =' название’ />
          <Имя FieldRef ='EncodedAbsUrl’ />
        </ViewFields>
      </viewFields>
      <queryOptions>
        <QueryOptions>
          <Папка>
HTTP://demoserver1/блоги Сценарии/списки/настраиваемый список с Sub папки/год 2006</Папка>
        </QueryOptions>
      </queryOptions>
   
</GetListItems>
  </soapenv:Тело>
</soapenv:Конверт>

Много примеров и дискуссии вокруг этого привели меня к мнению, что все это мне нужно было <QueryOptions> и укажите имя папки.  Для меня, Нужно обоим подводить его внутрь <queryOptions> а также укажите полный URL-адрес для <Папка> узел.

Вот настройки AJAX jQuery:

$(документ).готов(функция() {
       var soapEnv =
           "<soapenv:Конверт xmlns:soapenv =’HTTP://schemas.xmlsoap.org/SOAP/envelope/’> \
               <soapenv:Тело> \
                    <GetListItems xmlns =’HTTP://schemas.Microsoft.com/SharePoint/SOAP/’> \
                       <listName>Настраиваемый список с вложенные папки</listName> \
                       <viewFields> \
                           <ViewFields> \
                              <Имя FieldRef =' название’ /> \
                              <Имя FieldRef ='EncodedAbsUrl’ /> \
                          </ViewFields> \
                       </viewFields> \
                       <queryOptions> \
                         <QueryOptions> \
                           <Папка>http://demoserver1/Blogging Сценарии/списки/настраиваемый список с Sub папки/год 2006</Папка> \
                         </QueryOptions> \
                       </queryOptions> \
                   </GetListItems> \
               </soapenv:Тело> \
           </soapenv:Конверт>";

</конец>

Подписаться на мой блог.

Следуй за мной по щебетать на http://www.twitter.com/pagalvin

6 мысли о «Lists.asmx, GetListItems и папки

  1. Даниэль

    Привет

    Я пытаюсь для отображения документов в определенной папке с использованием SPD 2010 DataSource GetListItems

    Однажды я подключиться к моей веб-службу и введите идентификатор guid для библиотеки документов
    Я могу изменить QueryOptions и введите следующий фрагмент CAML
    Соответствие TrainingCompanyX.

    Только это не возвращает никаких результатов – Удаление параметра QueryOptions возвращает все документы в библиотеке документов корня….

    Я глядя на прохождение некоторых вроде просмотра параметров и включают в себя представление guid.

    1. Пол Galvin сообщение автор

      Это очень старая так жалко никогда не отвечая комментарий пост. Я полагаю, вы долго с тех пор понял, как поступить.

  2. Дуг

    Благодаря кучу для этого поста, Пол. Я пытаюсь использовать GetListItems через ColdFusion cfhttp, и не мог получить конверт правильно. В конце концов наткнулся на этот пост, и ваш пример работал безупречно. Еще раз спасибо.

  3. Дуг

    BTW – Вы знаете из ресурса, который перечисляет все конверты правильное мыло? Один для элементов GetList опубликованы на сайте microsoft.com не соответствует вы 're здесь…

Оставить ответить Пол Galvin отменить ответ

Ваш электронный адрес не будет опубликован. Обязательные поля помечены *