Lists.asmx, GetListItems ja kaustad

Ma tegin mõned uuringud keegi täna ümber osa SharePointi list.asmx veebiteenus 2010 (ja varem).  Ta suutis saada loendiüksuste root kausta (sealhulgas alamkatalooge nimed), aga ei suutnud saada punkte linnas alamkatalooge.  Ma tegin mõned vaadates selle internets ja on üllatavalt üldine küsimus.  Veel, Ma ei saanud hea vastata lihtsale küsimusele, "kui ma tean kaust, Kuidas saada üksused kausta?”  Kui aus olla, Ma ei proovi nii kõvasti, sest mõnda aega olen tahtnud näitaja see üks läbi minu oma naeratus.

Selle seadistama, Olen loonud saidi nimega "Blogging stsenaariumid" ja kohandatud loend nimega "Kohandatud loend koos Sub kaustad".  Siis ma loonud kausta nimega:

  • Aasta 2005
  • Aasta 2006
  • Aasta 2007

Lisasin mõned üksused kausta "aastal 2006".  See on, kuidas see välja näeb:

image

Mu sõber ei ole C# koodi aga pigem kasutades Java, nii oli SEEP ümbrik, mida ta tegelikult vaja.  Saada, et, Kirjutasin natuke jQuery ja saada tegelik HTTP vestlus viiuldaja harjunud.

Siin on asjakohane jQuery (I kopeeritud kood ette allpool kui soovite kopeeri/kleebi):

image

Nad esimene võti on nii a <queryOptions> ja <QueryOptions> sõlme.  Teine võti on see, et selle <Kausta> sõlm on URL, millele kliendil on juurdepääs.

Võib esineda muid võimalusi saada see, Aga see töötas hästi minu jaoks, kasutades jQuery.

Siin on SEEP eraldati eespool:

<soapenv:Ümbrik xmlns:soapenv =’http://schemas.xmlsoap.org/SOAP/Envelope/’>                
  <soapenv:Keha>
    <GetListItemid oleksid xmlns =’
http://schemas.microsoft.com/SharePoint/SOAP/’>
      <listName>Kohandatud loendi alamkaustadena</listName>
      <viewFields>  
        <ViewFields>
          <FieldRef nimi = "pealkiri’ />
          <FieldRef nimi ='EncodedAbsUrl’ />
        </ViewFields>
      </viewFields>
      <queryOptions>
        <QueryOptions>
          <Kausta>
http://demoserver1/Blogging Stsenaariume/loendid/kohandatud loendi Sub kaustad/aasta 2006</Kausta>
        </QueryOptions>
      </queryOptions>
   
</GetListItemid oleksid>
  </soapenv:Keha>
</soapenv:Ümbrik>

Palju näiteid ja arutelu selle ümber viinud mind uskuma, et kõik, mida mul vaja oli <QueryOptions> ja määrake kausta nimi.  Minu jaoks, Mul on vaja nii murrab ta sees <queryOptions> Samuti saate määrata täielik URL on <Kausta> sõlm.

Siin on jQuery AJAX seadistamine:

$(dokumendi).valmis(funktsioon() {
       var soapEnv =
           "<soapenv:Ümbrik xmlns:soapenv =’http://schemas.xmlsoap.org/SOAP/Envelope/’> \
               <soapenv:Keha> \
                    <GetListItemid oleksid xmlns =’http://schemas.microsoft.com/SharePoint/SOAP/’> \
                       <listName>Kohandatud loendi alamkaustadena</listName> \
                       <viewFields> \
                           <ViewFields> \
                              <FieldRef nimi = "pealkiri’ /> \
                              <FieldRef nimi ='EncodedAbsUrl’ /> \
                          </ViewFields> \
                       </viewFields> \
                       <queryOptions> \
                         <QueryOptions> \
                           <Kausta>http://demoserver1/Blogging Stsenaariume/loendid/kohandatud loendi Sub kaustad/aasta 2006</Kausta> \
                         </QueryOptions> \
                       </queryOptions> \
                   </GetListItemid oleksid> \
               </soapenv:Keha> \
           </soapenv:Ümbrik>";

</lõpp>

Telli minu blogi.

Järgi mind vidistama kell http://www.twitter.com/pagalvin

6 mõtteid "Lists.asmx, GetListItems ja kaustad

  1. Daniel

    Hei

    Olen püüdnud kasutades ühtse Programmdokumendi konkreetsete kaustas dokumendid kuvamine 2010 Andmeallika GetListItemid oleksid

    Kui minu veebiteenusega ühendust ning sisestage guid dokumenditeegi
    Saate muuta selle QueryOptions ja sisestage CAML alljärgneva
    Vastavus TrainingCompanyX.

    Ainult see ei tagasta ühtegi tulemit – eemaldades QueryOptions parameeter tagastab kõik dokumendid root dokumenditeegis….

    Olen ma vaadates mõned justkui möödaminnes Vaata parameeter ja sisaldavad vaate guid.

    Vastus
  2. Bob Bolton

    Ok, tundub, et see demonteeritakse välja xml… lihtsalt asendada trellide allpool noolsulgude.

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

    Vastus
  3. Doug

    Tänu kobaras sellele ametikohale, Paul. Olen püüdnud tarbida GetListItemid oleksid ColdFusion cfhttp kaudu, ja ei suutnud saada ümbrik õigus. Lõpuks leidsin sellele ametikohale, ja teie näiteks töötas veatult. Aitäh veelkord.

    Vastus
  4. Doug

    BTW – Kas sa tead mis ressurss, mis on loetletud kõik õige seep ümbrikud? Üks GetList üksusi avaldatud Microsoft.com'i ei sobi sa oled siin…

    Vastus

Jäta Vasta Paul Galvin Tühista vastus

Teie e-posti aadressi ei avaldata. Kohustuslikud väljad on tähistatud *