بایگانی برچسب: شیرپوینت خدمات وب سایت

Lists.asmx, GetListItems و پوشه

من انجام برخی تحقیقات را برای کسی که امروز در سراسر وب سرویس list.asmx ارائه شده به عنوان بخشی از شیرپوینت 2010 (و قبل از آن).  او قادر بود برای به دست آوردن اقلام لیست در پوشه ریشه (از جمله نامهای از زیر پوشه ها), اما می تواند در موارد زیر پوشه ها را می کنید.  من برخی به دنبال بود در اطراف بر روی اینترنت و شگفت آور یک سوال مشترک است.  هنوز, من می توانم پاسخ خوبی به این سوال ساده نیست, "اگر من می دانم که پوشه, چگونه این اقلام را در پوشه?"  صادق باشد, من این همه سعی نمی کند از آنجایی که من می خواستم به شکل خود من در حالی که برای یکی از لبخند.

برای تنظیم این, ایجاد یک سایت به نام "سناریو وبنوشتها" و یک لیست سفارشی به نام "سفارشی با زیر پوشه".  من پس از آن ایجاد پوشه به نام:

  • سال 2005
  • سال 2006
  • سال 2007

من چند مورد را به پوشه "سال 2006".  این همان چیزی است که آن را مانند به نظر می رسد:

image

دوست من است کد # C نوشتن نیست، بلکه با استفاده از جاوا, بنابراین پاکت SOAP چیزی بود که او واقعا مورد نیاز است.  برای دریافت کنید که, من نوشت: یک بیت از jQuery و سپس با استفاده از نوازنده برای گرفتن مکالمه واقعی HTTP.

در اینجا ذکر کرد که jQuery مربوطه (من کپی کد زیر اگر می خواهید به کپی / چسباندن):

image

آنها کلید اول این است که شامل هر دو <queryOptions> و <QueryOptions> گره.  کلید دوم این است که <پوشه> گره URL که به مشتری است که دسترسی است.

ممکن است راه های دیگر را به این, اما این را به خوبی برای من کار می کرد که با استفاده از jQuery.

در اینجا این است که پاکت SOAP برای بالا:

<soapenv:xmlns پاکت:soapenv =’HTTP://schemas.xmlsoap.org / صابون / پاکت /’>                
  <soapenv:بدن>
    <xmlns GetListItems =’
HTTP://schemas.microsoft.com / شیرپوینت / صابون /’>
      <برگریز>لیست سفارشی با پوشه های فرعی</برگریز>
      <viewFields>  
        <ViewFields>
          <FieldRef نام = 'عنوان’ />
          <FieldRef نام = 'EncodedAbsUrl’ />
        </ViewFields>
      </viewFields>
      <queryOptions>
        <QueryOptions>
          <پوشه>
HTTP://demoserver1/Blogging سناریوهای / لیست / فهرست های سفارشی با زیر پوشه / سال 2006</پوشه>
        </QueryOptions>
      </queryOptions>
   
</GetListItems>
  </soapenv:بدن>
</soapenv:پاکت>

بسیاری از مثال ها و بحث در اطراف این باعث شد من به این باور است که تمام چیزی که نیاز دارم <QueryOptions> و مشخص نام پوشه.  برای من, من به هر دو بسته بندی کردن آن در داخل نیاز <queryOptions> همچنین به عنوان یک URL به طور کامل واجد شرایط برای مشخص <پوشه> گره.

در اینجا راه اندازی جی کوئری AJAX:

$(سند).آماده(تابع() {
       ور = soapenv
           "<soapenv:xmlns پاکت:soapenv =’HTTP://schemas.xmlsoap.org / صابون / پاکت /’> \
               <soapenv:بدن> \
                    <xmlns GetListItems =’HTTP://schemas.microsoft.com / شیرپوینت / صابون /’> \
                       <برگریز>لیست سفارشی با پوشه های فرعی</برگریز> \
                       <viewFields> \
                           <ViewFields> \
                              <FieldRef نام = 'عنوان’ /> \
                              <FieldRef نام = 'EncodedAbsUrl’ /> \
                          </ViewFields> \
                       </viewFields> \
                       <queryOptions> \
                         <QueryOptions> \
                           <پوشه>http://demoserver1/Blogging سناریوهای / لیست / فهرست های سفارشی با زیر پوشه / سال 2006</پوشه> \
                         </QueryOptions> \
                       </queryOptions> \
                   </GetListItems> \
               </soapenv:بدن> \
           </soapenv:پاکت>";

</پایان>

مشترک شدن در وبلاگ من.

من در توییتر در http://www.twitter.com/pagalvin