Tag Archives: SharePoint Mtandao Huduma

Lists.asmx, GetListItems na Folders

Mimi nilikuwa kufanya baadhi ya utafiti kwa ajili ya mtu leo ​​karibu huduma list.asmx mtandao zinazotolewa kama sehemu ya SharePoint 2010 (na mapema).  Aliweza kupata vitu orodha katika folder mizizi (ikiwa ni pamoja na majina ya ndogo folders-), lakini hakuweza kupata vitu katika sub-folders.  Sikuweza baadhi kuangalia kote juu ya internets na ni swali kushangaza kawaida.  Hata hivyo, Sikuweza kupata jibu zuri kwa swali rahisi, "Kama najua folder, jinsi gani mimi kupata vitu katika folder?"  Kuwa waaminifu, Mimi si kujaribu ngumu kwamba wote tangu nimekuwa alitaka kufikiri hii moja nje peke yangu kwa muda Smile.

Kuweka hii up, Mimi umba tovuti aitwaye "Mabalozi Matukio ya" na orodha desturi aitwaye "Desturi Orodha Folders na Sub".  Mimi kisha kuundwa folders aitwaye:

  • Mwaka 2005
  • Mwaka 2006
  • Mwaka 2007

Mimi aliongeza vitu kadhaa na "Mwaka 2006" folder.  Hii ni nini inaonekana kama:

image

Rafiki yangu si kuandika C # kanuni lakini badala ya kutumia Java, hivyo bahasha sabuni ilikuwa nini yeye kweli inahitajika.  Kupata kwamba, Niliandika kidogo ya jQuery na kisha kutumika fiddler kupata halisi HTTP mazungumzo.

Hapa ni jQuery husika (Mimi kunakiliwa kanuni chini chini kama unataka nakala / kuweka):

image

Wao muhimu ya kwanza ni pamoja na wawili <queryOptions> na <QueryOptions> nodi.  muhimu ya pili ni kwamba <Folder> nodi ni URL ambayo mteja ana upatikanaji.

Kunaweza kuwa na njia nyingine ya kupata hii, lakini hii kazi vizuri kwa ajili yangu wakati wa kutumia jQuery.

Hapa ni bahasha sabuni kwa juu:

<soapenv:Bahasha xmlns:soapenv =’http://schemas.xmlsoap.org / sabuni / bahasha /’>                
  <soapenv:Mwili>
    <GetListItems xmlns =’
http://schemas.microsoft.com / SharePoint / sabuni /’>
      <Deciduous>Orodha ya desturi na Folders Sub</Deciduous>
      <viewFields>  
        <ViewFields>
          <FieldRef Jina = 'Kichwa’ />
          <FieldRef Jina = 'EncodedAbsUrl’ />
        </ViewFields>
      </viewFields>
      <queryOptions>
        <QueryOptions>
          <Folder>
http://demoserver1/Blogging Matukio / orodha / Orodha ya Desturi na Folders Sub / Mwaka 2006</Folder>
        </QueryOptions>
      </queryOptions>
   
</GetListItems>
  </soapenv:Mwili>
</soapenv:Bahasha>

mengi ya mifano na majadiliano kote hii imesababisha mimi kuamini kwamba kila nahitaji mara <QueryOptions> na kutaja jina folder.  Kwa ajili yangu, Nahitaji wote wrap ndani ya <queryOptions> vilevile kutaja URL kikamilifu waliohitimu kwa <Folder> nodi.

Hapa ni jQuery AJAX kuanzisha:

$(hati).tayari(kazi() {
       mara soapEnv =
           "<soapenv:Bahasha xmlns:soapenv =’http://schemas.xmlsoap.org / sabuni / bahasha /’> \
               <soapenv:Mwili> \
                    <GetListItems xmlns =’http://schemas.microsoft.com / SharePoint / sabuni /’> \
                       <Deciduous>Orodha ya desturi na Folders Sub</Deciduous> \
                       <viewFields> \
                           <ViewFields> \
                              <FieldRef Jina = 'Kichwa’ /> \
                              <FieldRef Jina = 'EncodedAbsUrl’ /> \
                          </ViewFields> \
                       </viewFields> \
                       <queryOptions> \
                         <QueryOptions> \
                           <Folder>http://demoserver1/Blogging Matukio / orodha / Orodha ya Desturi na Folders Sub / Mwaka 2006</Folder> \
                         </QueryOptions> \
                       </queryOptions> \
                   </GetListItems> \
               </soapenv:Mwili> \
           </soapenv:Bahasha>";

</mwisho>

Kujiunga na blog yangu.

Kufuata yangu juu ya Twitter kwa http://www.twitter.com/pagalvin