Lists.asmx, GetListItems és a mappák

Csinálok néhány kutatás valaki ma körül a list.asmx webszolgáltatást, SharePoint részeként 2010 (és a korábbi).  Ő volt képes-hoz kap a lista elemeit a gyökérmappában (beleértve a tengeralattjáró-tartók nevei), de nem tudott kap az elemek tengeralattjáró-tartók-ban.  Csináltam néhány látszó körül a a internets, és meglepően közös kérdés.  Még, Tudtam, hogy egy jó az egyszerű kérdésre választ, "ha tudom, hogy a mappa, Hogyan jutok a cikkeket a mappában?”  Hogy őszinte legyek, Nem próbálom minden, amit kemény óta már akartam ábra, ez egy ki a saját egy darabig Mosoly.

Ennek beállításához, Létrehoztam egy webhely "Forgatókönyvek Blogging" nevű és „egyéni lista a Sub mappák"nevű egyéni lista.  Majd hozott létre nevű mappák:

  • Év 2005
  • Év 2006
  • Év 2007

Én hozzáadott néhány elem "2006-os évre" mappába.  Ez az, amit úgy néz ki, mint:

image

A barátom nem C# kód írása, de inkább a Java használata, így a SOAP-boríték volt mire ő igazán szükség.  -Hoz kap amit, Írtam egy kicsit a jQuery, és fiddler segítségével kap a tényleges HTTP-beszélgetés.

Itt van a megfelelő jQuery (Másoltam a kód le alul ha ön akar-hoz másol/tészta):

image

Azok első kulcsa tartalmazza mind a <queryOptions> és <QueryOptions> csomópont.  A második kulcsot, hogy a <Mappa> csomópont egy URL-címet, amelyhez az ügyfél hozzáfér.

Előfordulhat, hogy más ways-hoz kap ez, de ez munkás jól értem, amikor segítségével jQuery.

Itt van részére a fenti SOAP-boríték:

<soapenv:Boríték xmlns:soapenv =’http://schemas.xmlsoap.org/SOAP/Envelope/’>                
  <soapenv:Szerv>
    <GetListItems xmlns =’
http://schemas.microsoft.com/SharePoint/SOAP/’>
      <listName>Egyéni lista Sub-mappákkal</listName>
      <viewFields>  
        <ViewFields>
          <A FieldRef neve = "cím’ />
          <A FieldRef neve ='EncodedAbsUrl’ />
        </ViewFields>
      </viewFields>
      <queryOptions>
        <QueryOptions>
          <Mappa>
http://demoserver1 és a blogírás Sub mappák/év 2006 forgatókönyvek/listák/egyéni lista</Mappa>
        </QueryOptions>
      </queryOptions>
   
</GetListItems>
  </soapenv:Szerv>
</soapenv:Boríték>

Sok példák és körül ez a vita vezetett, azt hinni, hogy minden szükségem volt <QueryOptions> gombra, és adja meg a mappa nevét.  Nekem, Azt kell mindkét betakar ez belsejében <queryOptions> valamint egy teljesen minősített URL-adja meg a <Mappa> csomópont.

Itt van a jQuery AJAX-telepítő:

$(dokumentum).kész(függvény() {
       var soapEnv =
           "<soapenv:Boríték xmlns:soapenv =’http://schemas.xmlsoap.org/SOAP/Envelope/’> \
               <soapenv:Szerv> \
                    <GetListItems xmlns =’http://schemas.microsoft.com/SharePoint/SOAP/’> \
                       <listName>Egyéni lista Sub-mappákkal</listName> \
                       <viewFields> \
                           <ViewFields> \
                              <A FieldRef neve = "cím’ /> \
                              <A FieldRef neve ='EncodedAbsUrl’ /> \
                          </ViewFields> \
                       </viewFields> \
                       <queryOptions> \
                         <QueryOptions> \
                           <Mappa>http://demoserver1/Blogging Sub mappák/év 2006 forgatókönyvek/listák/egyéni lista</Mappa> \
                         </QueryOptions> \
                       </queryOptions> \
                   </GetListItems> \
               </soapenv:Szerv> \
           </soapenv:Boríték>";

</vége>

Subscribe to my blog.

Kövesse nekem Twitter http://www.twitter.com/pagalvin

6 gondolatok „Lists.asmx, GetListItems és a mappák

  1. Daniel

    szia

    Én kipróbálás-hoz bemutatás a dokumentumokat egy megadott mappába, segítségével egy SPD 2010 DataSource lévő GetListItems elem

    Egyszer én webszolgáltatáshoz csatlakozni, és adja meg a guid a dokumentumtár
    Lehet módosítani a QueryOptions, és adja meg a következő darab CAML
    TrainingCompanyX való megfelelés.

    Csak ez nem hoz eredményt – a gyökér-dokumentumtára eltávolítása a QueryOptions paraméter adja vissza a dokumentumokat….

    Vagyok, nézett halad néhány fajta Nézd paraméter és a nézet guid közé.

    Válasz
    1. Paul Galvin Hozzászólás szerző

      Ez egy nagyon régi post/comment annyira sajnálom, hogy soha nem válaszol. Feltételezem, hogy hosszú óta kitalálta, hogyan kell eljárni.

      Válasz
  2. Bob Bolton

    oké, úgy néz ki mint ez meztelen ki az xml… csak cseréld ki a kettős keresztek alatt francia idézőjelekkel – könyv.

    #queryOptions #
    #QueryOptions #
    #Alkalmazási ViewAttributes = 'RecursiveAll' / #
    #/QueryOptions #
    #/queryOptions #

    Válasz
  3. Doug

    Köszönet egy csomó részére ez felad, Paul. Ive ' kipróbálás-fogyasztani lévő GetListItems elem ColdFusion cfhttp keresztül, és nem tudott kap a keret jobb. Végül jött keresztül ez felad, és példátok hibátlanul működött. Köszönet újra.

    Válasz
  4. Doug

    BTW – tudod, hogy egy erőforrás, amely tartalmazza a megfelelő soap-boríték? Az egyik GetList elemek a Microsoft.com webhelyen közzétett nem egyezik meg itt vagyunk…

    Válasz

Hagy egy válaszol a Paul Galvin válasz visszavonása

Az e-mail címed nem kerül nyilvánosságra. Kötelező kitölteni *