Lists.asmx, GetListItems və Qovluqlar

I SharePoint hissəsi kimi göstərilən list.asmx web service ətrafında bu gün kimsə üçün bir araşdırma edirdi 2010 (və əvvəlki).  O, kök qovluq da siyahıda əldə edə bilər (alt qovluq adları daxil), lakin alt klasörler maddələri ala bilmədi.  Mən bəzi internets ətrafında axtarır idi və bu, təəccüblü ümumi sual.  Hələ, Mən sadə suala yaxşı cavab ala bilmədi, "Mən qovluq bilirsinizsə, necə qovluqdakı öğeleri almaq yoxdur?"  Insafən, Mən bir müddət öz Bu anlamaq istəyirdilər etdik çünki mən bütün ağır cəhd etməyib təbəssüm.

Bu qədər qurmaq üçün, Mən "Blogging Ssenari" və "Alt qovluqları ilə Xüsusi siyahısı" adlı xüsusi siyahı adlı saytı yaradılmışdır.  Mən sonra adına qovluq yaradıldı:

  • Il 2005
  • Il 2006
  • Il 2007

Mən qovluğu "2006" bir neçə maddələri əlavə edib.  Bu kimi görünür:

image

Mənim dostum C # kodu yazı deyil Java istifadə etmir, belə SOAP zərflərin o, həqiqətən lazım idi.  Ki, əldə etmək üçün, Mən jQuery bir az yazırdı və sonra faktiki HTTP söhbət almaq üçün skripkaçalan istifadə.

Burada müvafiq jQuery var (Siz yapışdırıb / kopyalamak istediğiniz əgər mən aşağıdakı kodu aşağı kopyalanan):

image

Onlar ilk düyməsini həm daxildir <queryOptions> və <QueryOptions> node.  İkinci əsas ki, <Qovluq> node olan müştəri çıxışı üçün bir URL deyil.

Bu almaq üçün başqa yolları ola bilər, jQuery istifadə edərkən, lakin bu mənim üçün yaxşı işləmişdir.

Burada yuxarıda üçün SOAP zərflərin edir:

<soapenv:Envelope xmlns:soapenv =’http://schemas.xmlsoap.org / sabun / zərf /’>                
  <soapenv:Orqan>
    <GetListItems xmlns =’
http://schemas.microsoft.com / SharePoint / sabun /’>
      <Yarpaqlı>Alt Folders xüsusi siyahısı</Yarpaqlı>
      <viewFields>  
        <ViewFields>
          <FieldRef Adı = 'Başlıq’ />
          <FieldRef Adı = 'EncodedAbsUrl’ />
        </ViewFields>
      </viewFields>
      <queryOptions>
        <QueryOptions>
          <Qovluq>
http://demoserver1/Blogging Ssenari / siyahıları / Alt Folders / il 2006-cı ilə Xüsusi siyahısı</Qovluq>
        </QueryOptions>
      </queryOptions>
   
</GetListItems>
  </soapenv:Orqan>
</soapenv:Zərf>

Bu ətrafında nümunələri və müzakirə bir çox mənə lazım idi ki, iman gətirib <QueryOptions> və qovluq adı daxil.  Mənim üçün, Mən həm paketi daxili lazımdır <queryOptions> habelə üçün tam ixtisaslı URL daxil <Qovluq> node.

Burada jQuery AJAX quraşdırma var:

$(sənəd).hazır(funksiyası() {
       soapEnv = oldu
           "<soapenv:Envelope xmlns:soapenv =’http://schemas.xmlsoap.org / sabun / zərf /’> \
               <soapenv:Orqan> \
                    <GetListItems xmlns =’http://schemas.microsoft.com / SharePoint / sabun /’> \
                       <Yarpaqlı>Alt Folders xüsusi siyahısı</Yarpaqlı> \
                       <viewFields> \
                           <ViewFields> \
                              <FieldRef Adı = 'Başlıq’ /> \
                              <FieldRef Adı = 'EncodedAbsUrl’ /> \
                          </ViewFields> \
                       </viewFields> \
                       <queryOptions> \
                         <QueryOptions> \
                           <Qovluq>http://demoserver1/Blogging Ssenari / siyahıları / Alt Folders / il 2006-cı ilə Xüsusi siyahısı</Qovluq> \
                         </QueryOptions> \
                       </queryOptions> \
                   </GetListItems> \
               </soapenv:Orqan> \
           </soapenv:Zərf>";

</son>

Blog abunə.

Da Twitter məni izləyin http://www.twitter.com/pagalvin

6 Haqqında "fikirləriLists.asmx, GetListItems və Qovluqlar

  1. Daniel

    Hi

    Mən SPD istifadə edərək xüsusi qovluq altında sənədləri keçirmək üçün çalışıram 2010 kaynağınızda GetListItems

    Mən web xidmət və daxil qoşulmaq sonra sənəd kitabxana üçün GUID
    Mən QueryOptions dəyişdirmək və CAML aşağıdakı parça daxil edə bilərsiniz
    Uyğunlaşma Təhsili CompanyX.

    Yalnız bu heç bir nəticə vermir – QueryOptions parametr aradan qaldırılması kök sənəd kitabxana bütün sənədləri qaytarır….

    Mən view parametri bir növ keçən baxaraq Am və görünüşü GUID daxildir.

    Cavab
    1. Paul Galvin Post müəllif

      Bu, heç vaxt cavab üçün çox köhnə post / comment so sorry deyil. davam etmək üçün necə fiqurlu çünki mən uzun daşımır.

      Cavab
  2. Bob Bolton

    Yaxşı məqalə! Təşəkkür.

    Siz həmçinin avtomatik olaraq qovluq strukturu aşağı axır RecursiveAll seçimi istifadə edə bilərsiniz (kök səviyyədə).

    Cavab
  3. Bob Bolton

    Tamam, XML lüt kimi görünür… yalnız chevrons ilə aşağıdakı funt əlamətləri əvəz.

    #queryOptions #
    #QueryOptions #
    #ViewAttributes Scope = 'RecursiveAll / #
    #/QueryOptions #
    #/queryOptions #

    Cavab
  4. Doug

    Bu yazı üçün bir dəstə Thanks, Paul. Mən Coldfusion cfhttp vasitəsilə GetListItems istehlak çalışır olduğunuz, və zərf doğru ala bilmədi. Nəhayət bu vəzifədə rast gəldi, və məsələn kusursuz çalışmışdır. Thanks yenidən.

    Cavab
  5. Doug

    BTW – bütün müvafiq sabun zərflərin siyahıları ki, bir resurs bilmirəm? Microsoft.com dərc GetList öğeler üçün biri burada uyğun deyil…

    Cavab

Bir cavab buraxın Paul Galvin Cavab ləğv

E-poçt ünvanından dərc olunmayacaq. Lazım alanlar qeyd olunur *