Lists.asmx, GetListItems ir aplankai

Darau kai tyrimų kažkas šiandien aplink kaip SharePoint žiniatinklio paslaugos list.asmx 2010 (ir anksčiau).  Ji buvo suteikta galimybė gauti sąrašo elementus į šakninį aplanką (įskaitant poaplankius pavadinimai), Tačiau negalėjo gauti elementus ir poaplankius.  Aš padarė kai dairausi internetas ir tai yra stebėtinai įprastas klausimas.  Dar, Aš negalėjo gauti tinkamą atsakymą į paprastą klausimą, "jei aš žinau aplanką, kaip man elementus į aplanką?”  Tiesą sakant, Aš ne bandyti visi, kad sunku, nes aš norėjau pav tai vienas iš savo, o šypsena.

Kad tai nustatytumėte, Aš sukūrė tinklalapį, pavadintą "Blogų scenarijų" ir pavadintas "Pasirinktinį sąrašą su Sub katalogų" pasirinktinį sąrašą.  Aš tada sukūrė aplankus pavadintus:

  • Metų 2005
  • Metų 2006
  • Metų 2007

Aš pridėjo keletą daiktų į aplanką "metai 2006".  Tai kaip jis atrodo:

image

Mano draugas yra ne rašyti C# kodą bet o naudojant Java, Taigi SOAP vokas buvo, kas ji tikrai reikalinga.  Gauti, kad, Aš šiek tiek jQuery ir tada gaudavo smuikininkas tikrasis HTTP pokalbis.

Štai atitinkamo jQuery (Aš nukopijuoti kodą žemyn žemiau jei norite kopijuoti ir įklijuoti):

image

Jos pirmasis svarbiausia yra ir yra <queryOptions> ir <QueryOptions> mazgas.  Antrajam raktui yra tai, kad į <Aplankas> mazgas yra URL kuria klientas gali naudotis.

Gali būti kitų būdų, kaip gauti šią, bet tai dirbo gerai man naudojant jQuery.

Štai SOAP vokas planai:

<soapenv:Voko xmlns:soapenv =’http://schemas.xmlsoap.org/SOAP/Envelope/’>                
  <soapenv:Įstaiga>
    <GetListItems xmlns =’
http://schemas.Microsoft.com/SharePoint/SOAP/’>
      <listName>Pasirinktinį sąrašą su poaplankius</listName>
      <viewFields>  
        <ViewFields>
          <FieldRef pavadinimas = "pavadinimas’ />
          <FieldRef pavadinimas = "EncodedAbsUrl’ />
        </ViewFields>
      </viewFields>
      <queryOptions>
        <QueryOptions>
          <Aplankas>
http://demoserver1/Dienoraštis Scenarijų/sąrašai/Pasirinktinis sąrašas su submeniu aplankus/metai 2006</Aplankas>
        </QueryOptions>
      </queryOptions>
   
</GetListItems>
  </soapenv:Įstaiga>
</soapenv:Vokas>

Daug pavyzdžių ir diskusijų apie tai privertė mane manyti, kad visi man reikia buvo <QueryOptions> ir nurodykite aplanko pavadinimą.  Man, Man reikia tiek apvyniokite viduje <queryOptions> taip pat nurodyti visas URL į <Aplankas> mazgas.

Štai jQuery AJAX nustatymas:

$(dokumento).paruošta(funkcija() {
       var soapEnv =
           "<soapenv:Voko xmlns:soapenv =’http://schemas.xmlsoap.org/SOAP/Envelope/’> \
               <soapenv:Įstaiga> \
                    <GetListItems xmlns =’http://schemas.Microsoft.com/SharePoint/SOAP/’> \
                       <listName>Pasirinktinį sąrašą su poaplankius</listName> \
                       <viewFields> \
                           <ViewFields> \
                              <FieldRef pavadinimas = "pavadinimas’ /> \
                              <FieldRef pavadinimas = "EncodedAbsUrl’ /> \
                          </ViewFields> \
                       </viewFields> \
                       <queryOptions> \
                         <QueryOptions> \
                           <Aplankas>http://demoserver1/Blogging Scenarijų/sąrašai/Pasirinktinis sąrašas su submeniu aplankus/metai 2006</Aplankas> \
                         </QueryOptions> \
                       </queryOptions> \
                   </GetListItems> \
               </soapenv:Įstaiga> \
           </soapenv:Vokas>";

</pabaigos>

Prenumeruoti savo dienoraštį.

Sekite mane Twitter ne http://www.twitter.com/pagalvin

6 mintys apie "Lists.asmx, GetListItems ir aplankai

  1. Daniel

    sveikas

    I 'm trying to Rodyti dokumentus pagal konkretų aplanką naudojant a BPD 2010 Duomenų šaltinio GetListItems

    Kai aš prisijungti prie mano žiniatinklio tarnybai ir guid į dokumentų biblioteką
    Galiu keisti į QueryOptions ir įvesti šiam aktui CAML
    Atitikties TrainingCompanyX.

    Tik tai negrąžins jokių rezultatų – Pašalinus parametrą QueryOptions grąžina visus dokumentus šakninių dokumentų biblioteka….

    Esu aš žiūri į artimųjų kai tarsi Rodyti parametras ir įtraukti Rodyti guid.

    Atsakyti
    1. Paul Galvin Pranešimo autorius

      Tai labai senas pašto/komentarą taip gaila, niekada atsakyti. Aš manau, jūs ilgai, nes suprato, kaip tai daryti.

      Atsakyti
  2. Bob Boltonas

    gerai, atrodo, kad ji atimti iš xml… tiesiog pakeisti į ženklų toliau su ševronais.

    #queryOptions #
    #QueryOptions #
    #ViewAttributes taikymo sritis = "RecursiveAll" / #
    #/QueryOptions #
    #/queryOptions #

    Atsakyti
  3. Doug

    Labai ačiū už šį pranešimą, Paul. I been bando vartoti GetListItems per ColdFusion cfhttp, ir negalėjo gauti voką teisę. Galų gale atėjo per šį pranešimą, ir savo pavyzdžiu veikė nepriekaištingai. Ačiū dar kartą.

    Atsakyti
  4. Doug

    BTW – ar žinote, ištekliai, kurie pateikiami visi tinkamai muilo vokus? Vienas GetList elementus ir paskelbtas "microsoft.com" neatitinka jums čia…

    Atsakyti

Palik atsakymą į Paul Galvin Atšaukti atsakymą

Jūsų elektroninio pašto adresas nebus skelbiamas. Privalomi laukai yra pažymėti *