Lists.asmx, GetListItems un mapes

Es darīja daži pētījumi par kādu šodien ap list.asmx web pakalpojumu, kas norādīta kā daļa no SharePoint 2010 (un vecākas versijas).  Viņa bija iespēja saņemt saraksta elementus pie saknes mapē (iekļaujot apakšmapes nosaukumu), bet nevarēja saņemt vienumus apakšmapes.  I did dažas skatos uz internets, un tas ir pārsteidzoši bieži uzdotiem jautājumiem.  Vēl, Nevarēja iegūt labu atbildi uz pavisam vienkāršu jautājumu, "ja es zinu, ka mape, kā mape saņemt vienumus?”  Lai būtu godīgi, Man nav mēģināt tik grūti, jo esmu vēlējies skaitlis this one out uz savu laiku smaids.

To iestatīt, Izveidotā vietne ar nosaukumu "Blogošana scenāriji" un pielāgotu sarakstu ar nosaukumu "Pielāgotu sarakstu ar Sub mapes".  Es tad radīja mapes ar nosaukumu:

  • Gads 2005
  • Gads 2006
  • Gads 2007

Es pievieno dažus vienumus uz mapi "2006. gadā".  Tas ir kā tas izskatās:

image

Mans draugs nav C# koda rakstīšanu, bet drīzāk izmantojot Java, SOAP aploksne bija viņai vajadzēja.  Lai iegūtu, ka, Wrote mazliet jQuery, un pēc tam izmantot vijolnieks, lai iegūtu faktisko HTTP saruna.

Šeit ir attiecīgās jQuery (Es kopēt kodu nosaka zemāk, ja vēlaties kopēt un ielīmēt):

image

Tās pirmais galvenais ir, lai iekļautu gan <queryOptions> un <QueryOptions> mezglu.  Otrā atslēga ir tas, ka <Mapi> mezgls ir URL, uz kuru klients var piekļūt.

Var būt citi veidi, kā iegūt šo, bet tas strādāja labi, par mani, izmantojot jQuery.

Šeit ir iepriekš SOAP aploksne:

<soapenv:Aploksnes xmlns:soapenv =’http://schemas.xmlsoap.org/SOAP/Envelope/’>                
  <soapenv:Organizācija>
    <GetListItems xmlns =’
http://schemas.Microsoft.com/SharePoint/SOAP/’>
      <listName>Pielāgotu sarakstu apakšgrupas mapes</listName>
      <viewFields>  
        <ViewFields>
          <FieldRef nosaukums = "virsraksts’ />
          <FieldRef nosaukums = "EncodedAbsUrl’ />
        </ViewFields>
      </viewFields>
      <queryOptions>
        <QueryOptions>
          <Mapi>
http://demoserver1 un emuāri Scenāriji/saraksti/pielāgotu sarakstu ar Sub mapes/Year 2006</Mapi>
        </QueryOptions>
      </queryOptions>
   
</GetListItems>
  </soapenv:Organizācija>
</soapenv:Aploksne>

Daudz piemēru un diskusijas ap šo lika man domāt, ka viss, kas man ir nepieciešams, ir <QueryOptions> un norādiet mapes nosaukumu.  Man, Man vajag, lai gan wrap to iekšpusē <queryOptions> kā arī norādīt pilnu URL <Mapi> mezgls.

Šeit ir jQuery AJAX setup:

$(dokumentu).gatavs(funkcija() {
       var soapEnv =
           "<soapenv:Aploksnes xmlns:soapenv =’http://schemas.xmlsoap.org/SOAP/Envelope/’> \
               <soapenv:Organizācija> \
                    <GetListItems xmlns =’http://schemas.Microsoft.com/SharePoint/SOAP/’> \
                       <listName>Pielāgotu sarakstu apakšgrupas mapes</listName> \
                       <viewFields> \
                           <ViewFields> \
                              <FieldRef nosaukums = "virsraksts’ /> \
                              <FieldRef nosaukums = "EncodedAbsUrl’ /> \
                          </ViewFields> \
                       </viewFields> \
                       <queryOptions> \
                         <QueryOptions> \
                           <Mapi>http://demoserver1/Blogging Scenāriji/saraksti/pielāgotu sarakstu ar Sub mapes/Year 2006</Mapi> \
                         </QueryOptions> \
                       </queryOptions> \
                   </GetListItems> \
               </soapenv:Organizācija> \
           </soapenv:Aploksne>";

</beigās>

Abonēt manu blogu.

Sekot mani uz čivināt pie http://www.twitter.com/pagalvin

6 domas par "Lists.asmx, GetListItems un mapes

  1. Daniel

    čau

    Es cenšos, lai parādītu dokumentu ar konkrētu mapi, izmantojot VPD 2010 Datu avota GetListItems

    Pēc tam, kad es savienojumu ar web pakalpojumu un dokumentu bibliotēkas, ievadiet guid
    Es varu modificēt QueryOptions un ievadiet šādu gabals CAML
    Atbilstība TrainingCompanyX.

    Tikai tas neatgriež nekādus rezultātus – noņemot QueryOptions parametru atgriež visus dokumentus saknes dokumentu bibliotēkā….

    Esmu es apskatot dažus sava veida iet skatīt parametru un ietvert skata guid.

    Atbilde
    1. Paul Galvin Post autors

      Tas ir ļoti vecs pastu/komentārs žēl nekad atbildēt. Pieņemu, ka jūs ilgi, kopš izpētījuši, kā rīkoties.

      Atbilde
  2. Bob Bolton

    labi, izskatās, ka tas neaplūko, xml… tikai nomainīt ar ķeksīšiem restītes zem.

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

    Atbilde
  3. Doug

    Paldies par šo ziņu, Paul. Esmu mēģinājis lietot GetListItems izmantojot ColdFusion cfhttp, un nevarēja iegūt aploksnes labajā. Galu galā nāca visā šo ziņu, un jūsu piemērs strādāja flawlessly. Thanks again.

    Atbilde
  4. Doug

    BTW – jūs zināt, resursu, kurā uzskaitītas visas pienācīgas ziepju aploksnes? Viens par GetList vienumi publicēti Web vietā Microsoft.com neatbilst tu esi šeit…

    Atbilde

Atstāt atbilde Paul Galvin Atcelt atbildi

Jūsu e-pasta adrese netiks publicēta. Obligātie lauki ir atzīmēti *