Тег Архивы: SharePoint веб-служб

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