Tag Archives: SharePoint Serbisyo sa Web

Lists.asmx, GetListItems at folder

Ako ay paggawa ng ilang pananaliksik para sa isang tao ngayon sa paligid list.asmx web serbisyo na ibinigay bilang bahagi ng SharePoint 2010 (at mas maaga).  Siya ay upang makakuha ng listahan ng mga item sa folder ng ugat (kabilang ang mga pangalan ng mga sub-folder), ngunit hindi maaaring makakuha ng mga item sa sub-folder.  Ko ng ilang mga naghahanap sa paligid sa internets at ito ay isang nakakagulat na karaniwang tanong.  Pa, Hindi ako maaaring makakuha ng isang magandang sagot sa simpleng tanong, "Kung alam ko ang folder, paano ko makukuha ang mga item sa folder?"  Upang maging matapat, Hindi ko subukan ang lahat na mahirap dahil ko na nais na malaman ang isang ito sa aking sarili para sa isang habang ngiti.

Upang itakda ang up, Lumikha ako ng isang site na pinangalanang "Blogging sitwasyon" at isang pasadyang listahan na pinangalanang "Custom Listahan na may Sub Folder".  Ako pagkatapos nilikha folder na may pangalang:

  • Taon 2005
  • Taon 2006
  • Taon 2007

Ako ay nagdagdag ng ilang mga item sa ang "Taon 2006" na folder.  Ito ay kung ano ang tila:

image

Ang aking kaibigan ay hindi pagsulat ng C # code ngunit sa halip na paggamit ng Java, kaya ang SOAP sobre ay ano ang kanyang talagang kinakailangan.  Upang makakuha ng na, Sinulat ko isang bit ng jQuery at pagkatapos ay ginagamit ng fiddler upang makakuha ng aktwal na pag-uusap ng HTTP.

Narito ang kaugnay jQuery (Ko makopya ang code sa ibaba kung nais mong kopyahin / i-paste):

image

Sila unang susi ay upang isama ang parehong <queryOptions> at <QueryOptions> node.  Ang ikalawang key ay ang <Folder> node ay isang URL na kung saan ang client ay may access.

Maaaring may iba pang mga paraan upang makakuha ng ito, ngunit ito nagtrabaho na rin para sa akin kapag gumagamit ng jQuery.

Narito ang ang SOAP sobre para sa itaas:

<soapenv:Sobre xmlns:soapenv =’http://schemas.xmlsoap.org / sabon / sobre /’>                
  <soapenv:Katawan>
    <GetListItems xmlns =’
http://schemas.microsoft.com / sa sharepoint / sabon /’>
      <listname>Pasadyang Listahan na may Sub Folder</listname>
      <viewFields>  
        <ViewFields>
          <FieldRef Pangalan = 'Pamagat’ />
          <FieldRef Pangalan = 'EncodedAbsUrl ang’ />
        </ViewFields>
      </viewFields>
      <queryOptions>
        <QueryOptions>
          <Folder>
http://demoserver1/Blogging Sitwasyon / listahan / Custom Listahan na may Sub Folder / Taon 2006</Folder>
        </QueryOptions>
      </queryOptions>
   
</GetListItems>
  </soapenv:Katawan>
</soapenv:Sobre>

Ang isang pulutong ng mga halimbawa at discussion sa paligid na ito na humantong ako sa naniniwala na ang lahat ng kailangan ko ay <QueryOptions> at tukuyin ang isang pangalan ng folder.  Sa akin, Kailangan ko sa parehong pambalot na ito sa loob <queryOptions> pati na rin tukuyin ang isang ganap na kwalipikadong URL para sa <Folder> buko.

Narito ang jQuery AJAX setup:

$(dokumento).nakahanda(tungkulin() {
       ay soapEnv =
           "<soapenv:Sobre xmlns:soapenv =’http://schemas.xmlsoap.org / sabon / sobre /’> \
               <soapenv:Katawan> \
                    <GetListItems xmlns =’http://schemas.microsoft.com / sa sharepoint / sabon /’> \
                       <listname>Pasadyang Listahan na may Sub Folder</listname> \
                       <viewFields> \
                           <ViewFields> \
                              <FieldRef Pangalan = 'Pamagat’ /> \
                              <FieldRef Pangalan = 'EncodedAbsUrl ang’ /> \
                          </ViewFields> \
                       </viewFields> \
                       <queryOptions> \
                         <QueryOptions> \
                           <Folder>http://demoserver1/Blogging Sitwasyon / listahan / Custom Listahan na may Sub Folder / Taon 2006</Folder> \
                         </QueryOptions> \
                       </queryOptions> \
                   </GetListItems> \
               </soapenv:Katawan> \
           </soapenv:Sobre>";

</dulo>

Mag-subscribe sa aking blog.

Sundin ako sa Twitter sa http://www.twitter.com/pagalvin