من انجام برخی تحقیقات را برای کسی که امروز در سراسر وب سرویس list.asmx ارائه شده به عنوان بخشی از شیرپوینت 2010 (و قبل از آن). او قادر بود برای به دست آوردن اقلام لیست در پوشه ریشه (از جمله نامهای از زیر پوشه ها), اما می تواند در موارد زیر پوشه ها را می کنید. من برخی به دنبال بود در اطراف بر روی اینترنت و شگفت آور یک سوال مشترک است. هنوز, من می توانم پاسخ خوبی به این سوال ساده نیست, "اگر من می دانم که پوشه, چگونه این اقلام را در پوشه?" صادق باشد, من این همه سعی نمی کند از آنجایی که من می خواستم به شکل خود من در حالی که برای یکی از .
برای تنظیم این, ایجاد یک سایت به نام "سناریو وبنوشتها" و یک لیست سفارشی به نام "سفارشی با زیر پوشه". من پس از آن ایجاد پوشه به نام:
- سال 2005
- سال 2006
- سال 2007
من چند مورد را به پوشه "سال 2006". این همان چیزی است که آن را مانند به نظر می رسد:
دوست من است کد # C نوشتن نیست، بلکه با استفاده از جاوا, بنابراین پاکت SOAP چیزی بود که او واقعا مورد نیاز است. برای دریافت کنید که, من نوشت: یک بیت از jQuery و سپس با استفاده از نوازنده برای گرفتن مکالمه واقعی HTTP.
در اینجا ذکر کرد که jQuery مربوطه (من کپی کد زیر اگر می خواهید به کپی / چسباندن):
آنها کلید اول این است که شامل هر دو <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
سلام
I am trying to display the documents under a specific folder using a SPD 2010 DataSource GetListItems
Once I connect to to my web service and enter the guid for the document library
I can modify the QueryOptions and enter the following piece of CAML
Compliance Training\CompanyX.
Only this does not return any results – removing the QueryOptions parameter returns all the documents in the root document library….
Am I looking at passing some sort of view parameter and include the view guid.
This is a very old post/comment so sorry for never replying. I assume you long since figured out how to proceed.
Good article! سپاس ها.
You can also use the RecursiveAll option to automatically traverse down the folder structure (from the root level).
Ok, looks like it stripped out the xml… just replace the pound signs below with chevrons.
#queryOptions#
#QueryOptions#
#ViewAttributes Scope=’RecursiveAll’/#
#/QueryOptions#
#/queryOptions#
در لطف یک دسته برای این پست, پل. من کوشش کرده ام برای مصرف GetListItems از طریق cfhttp کلدفیوژن, و می تواند حق پاکت می کنید. در نهایت در سراسر این ارسال آمد, و به عنوان مثال خود را بی وقفه کار می کرد. با تشکر دوباره.
جهت مشاهده فرم خرید – آیا شما را از یک منبع که لیست تمام پاکت صابون مناسب می دانم? یک برای موارد GetList منتشر شده در microsoft.com می کند در اینجا شما مطابقت ندارد…