Архів тегів: SharePoint веб-служб

Lists.asmx, GetListItems і папок

Я роблю деякі дослідження для кого-то сьогодні навколо list.asmx веб-служби, що надається як частина SharePoint 2010 (і раніше).  Вона була в змозі отримати елементи в кореневій папці (включаючи імена вкладені папки), але не міг отримати елементи в вкладені папки.  Я зробив деякий озираючись на Інтернет, і це дивно поширені питання.  Ще, Я не міг отримати хорошу відповідь просте запитання:, "Якщо я знаю, що папки, як отримати елементи в папці?”  Щоб бути чесним, Я не спробувати все, що важко, тому що я хотів фігурою, це одне з на моїх на деякий час посмішка.

Щоб реалізувати цю можливість, Я створив сайт, названий "Блогів сценарії" та настроюваний список, названий "Настроюваний список із вкладених папок".  Потім я створив папок, названий:

  • Рік 2005
  • Рік 2006
  • Рік 2007

Я додав кілька елементів до папки "2006 року".  Це те, що він виглядає:

image

Мій друг не писати C# код, але швидше за використання Java, так МИЛО конверт було те, що вона дійсно необхідна.  Щоб отримати, що, Я написав трохи jQuery і потім використовувати скрипаля отримати фактичне розмова HTTP.

Ось відповідних jQuery (Я скопіювати код вниз нижче, якщо ви хочете копіювати/вставити):

image

Вони є першим ключовим включити обидві на <queryOptions> і <QueryOptions> вузол.  Другим ключовим є те, що на <Папка> вузол є URL-адресу, на яку клієнт має доступ.

Можливо, інші способи, щоб отримати це, але це працює добре для мене, коли за допомогою jQuery.

Ось МИЛО конверт для зазначених вище:

<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/блоги Сценарії, списки, настроюваний список з південь папках на рік 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 Сценарії, списки, настроюваний список з південь папках на рік 2006</Папка> \
                         </QueryOptions> \
                       </queryOptions> \
                   </GetListItems> \
               </soapenv:Тіло> \
           </soapenv:Конверт>";

</кінець>

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

Йди за мною на Twitter в http://www.twitter.com/pagalvin