Lists.asmx, GetListItems ja kansioihin

Joidenkin tutkimus oli tekemässä joku tänään noin list.asmx web-palveluun, SharePoint osana 2010 (ja aiemmat).  Hän oli mahdollisuus saada luettelokohteet on pääkansio (mukaan lukien alikansiot nimet), mutta ei voinut saada kohteet alikansiot.  Tein joitakin haku oletusverkko, ja se on yllättävän esitettyyn kysymykseen.  Vielä, Yksinkertainen hyvä Kysymysvastauksen ei löydy., "Jos tiedän kansion, Miten saan kohteet kansioon?”  Järjestimme, I ei yritä kaikki, että kova, koska olet halusi kuva, tämä yksi pois itse jonkin aikaa Hymy.

Voit määrittää tämän, Luotu sivuston nimeltä "Blogging skenaarioita" ja "mukautetun luettelon kanssa Sub kansiot" mukautetun luettelon.  Sitten luotu kansioita nimeltä:

  • Vuoden 2005
  • Vuoden 2006
  • Vuoden 2007

Joitakin kohteita lisätään "Vuoden 2006"-kansioon.  Tämä on, miltä se näyttää:

image

Ystäväni ei ole kirjallisesti C#-koodi mutta käyttämällä pikemminkin Java, joten SOAP-kirjekuoren oli, mitä hän todella tarvitaan.  Saat että, Kirjoitti bittinen jQuery ja saada itse HTTP-keskustelu fiddler avulla.

Tässä on asiaa jQuery (Kopioidun koodi alaspäin alla Jos haluat kopioida ja liittää):

image

Ne ensimmäinen avain on sisällyttävä sekä <queryOptions> ja <QueryOptions> solmu.  Toinen avain on, että <Kansio> solmu on URL-osoite, johon asiakkaalla on käyttöoikeus.

Voi olla muita tapoja tämä, mutta tämä toimi minulle, kun käyttäen jQuery.

Tässä on yllä SOAP-kirjekuori:

<soapenv:Kirjekuori xmlns:soapenv =’http://schemas.xmlsoap.org/SOAP/Envelope/’>                
  <soapenv:Laitos>
    <GetListItems xmlns =’
http://schemas.Microsoft.com/SharePoint/SOAP/’>
      <listName>Mukautetun luettelon Sub kansioita</listName>
      <viewFields>  
        <ViewFields>
          <FieldRef nimi =' otsikko’ />
          <FieldRef nimi ='EncodedAbsUrl’ />
        </ViewFields>
      </viewFields>
      <queryOptions>
        <QueryOptions>
          <Kansio>
http://demoserver1 ja Blogging Skenaariot, luettelot ja mukautettu luettelo Sub kansiot/vuoden 2006</Kansio>
        </QueryOptions>
      </queryOptions>
   
</GetListItems>
  </soapenv:Laitos>
</soapenv:Kirjekuori>

Esimerkkejä ja kiertää tämän keskustelun paljon johti me uskomme, että minun tarvitsee oli <QueryOptions> ja määritä kansionimi.  Minulle, Tarvitse molempia rivittää se sisällä <queryOptions> sekä määrittää täydellinen URL-osoite <Kansio> solmu.

Tässä on jQuery AJAX-asennusohjelma:

$(asiakirja).valmis(funktio() {
       var soapEnv =
           "<soapenv:Kirjekuori xmlns:soapenv =’http://schemas.xmlsoap.org/SOAP/Envelope/’> \
               <soapenv:Laitos> \
                    <GetListItems xmlns =’http://schemas.Microsoft.com/SharePoint/SOAP/’> \
                       <listName>Mukautetun luettelon Sub kansioita</listName> \
                       <viewFields> \
                           <ViewFields> \
                              <FieldRef nimi =' otsikko’ /> \
                              <FieldRef nimi ='EncodedAbsUrl’ /> \
                          </ViewFields> \
                       </viewFields> \
                       <queryOptions> \
                         <QueryOptions> \
                           <Kansio>http://demoserver1/Blogging Skenaariot, luettelot ja mukautettu luettelo Sub kansiot/vuoden 2006</Kansio> \
                         </QueryOptions> \
                       </queryOptions> \
                   </GetListItems> \
               </soapenv:Laitos> \
           </soapenv:Kirjekuori>";

</loppu>

Tilaa blogiin.

Noudata minut viserrys http://www.twitter.com/pagalvin

6 ajatuksia ”Lists.asmx, GetListItems ja kansioihin

  1. Daniel

    Moikka

    Yritän näyttää tiedostot tiettyyn kansioon käyttämällä ohjelma-asiakirjan mukaisesti 2010 DataSource GetListItems

    Kun muodostaa yhteyden web-palveluun ja määritä GUID-tunnus asiakirjakirjaston
    Voidaan muokata QueryOptions ja Kirjoita CAML seuraava pala
    Vaatimustenmukaisuuden TrainingCompanyX.

    Vain tämä ei palauta tuloksia – poistamalla QueryOptions-parametri palauttaa kaikki tiedostot root-asiakirjakirjastossa….

    Olen katsot kulkee joitakin tavallaan Katso parametri ja sisältää näkymän GUID-tunnus.

    Vastaus
  2. Bob Bolton

    Okei, näyttää siltä, että riisuttu pois xml… Just korvata ristikkomerkkien alla kulmasulkeet.

    #queryOptions #
    #QueryOptions #
    #ViewAttributes soveltamisalaan = "RecursiveAll" / #
    #/QueryOptions #
    #/queryOptions #

    Vastaus
  3. Doug

    Kiitoksia sitoa kimpuksi ajaksi nyt kuluva asettaa, Paul. Olen yrittänyt kuluttaa GetListItems kautta ColdFusion cfhttp, ja panna kirjekuoreen oikein. Lopulta törmäsin tähän viestiin, ja esimerkiksi toimi moitteetta. Kiitos jälleen.

    Vastaus
  4. Doug

    BTW – Tiedätkö resurssin, joka sisältää luettelon yläpuolella kuoret? Yksi GetList kohteita on julkaistu Microsoft.comin ei vastaa sinun täällä…

    Vastaus

Jätä vastaus Bob Bolton Peruuta vastaus

Sähköpostiosoitettasi ei julkaista. pakolliset kentät on merkitty *