Lists.asmx, GetListItems এবং ফোল্ডার

আমি SharePoint অংশ রূপে উপলব্ধ করা list.asmx ওয়েব পরিষেবা চারপাশে আজ কারো জন্য কিছু গবেষণা করছেন 2010 (এবং তার আগে).  তিনি রুট ফোল্ডারে তালিকা আইটেম পেতে (সাব ফোল্ডার এর নাম সহ), কিন্তু সাব ফোল্ডার আইটেম পাওয়া যায়নি.  আমি কিছু internets প্রায় খুঁজছেন হয়নি এবং এটি একটি আশ্চর্যজনক সাধারণ প্রশ্ন.  তবুও, আমি সহজ প্রশ্নের একটি ভালো উত্তর পাই নি, "আমি ফোল্ডার না, কিভাবে আমি ফোল্ডারে আইটেম পেতে পারি?"  সৎ হতে, আমি একটু অপেক্ষা করার জন্য আমার নিজের উপর এই এক চিন্তা চেয়েছিলেন করেছি আমি যে সব কঠিন চেষ্টা করা হয়নি হাসি.

এই সেট আপ, আমি বলেন, "ব্লগিং প্রেক্ষাপটে" এবং "নিম্নতর ফোল্ডার সঙ্গে কাস্টম তালিকা" নামক একটি কাস্টম তালিকা নামক একটি সাইট তৈরী.  আমি তখন নামে ফোল্ডার তৈরি:

  • বছর 2005
  • বছর 2006
  • বছর 2007

আমি ফোল্ডার "2006" একটি কয়েক আইটেম যোগ করা হয়েছে.  এটি দেখে মনে হচ্ছে কি:

image

আমার বন্ধু সি # কোড লেখা বরং জাভা ব্যবহার করছে না, তাই SOAP খাম তিনি সত্যিই কী প্রয়োজন ছিল.  যে পেতে, আমি jQuery একটি বিট লিখেছেন এবং তারপর প্রকৃত HTTP-র কথোপকথন পেতে fiddler ব্যবহৃত.

এখানে প্রাসঙ্গিক jQuery এর (আপনি পেস্ট করুন / কপি করতে চান তাহলে আমি নিচের কোড কপি করে নিচে):

image

তারা প্রথম কী উভয় অন্তর্ভুক্ত করা হয় <queryOptions> এবং <QueryOptions> নোড.  দ্বিতীয় কী যে <ফোল্ডার> নোড যা ক্লায়েন্ট এক্সেস আছে একটি URL টি.

এই পাওয়ার অন্যান্য উপায় হতে পারে, jQuery ব্যবহার করার সময় কিন্তু এই হল আমার জন্য ভাল কাজ.

এখানে উপরোক্ত জন্য SOAP খাম হয়:

<soapenv:খাম xmlns:soapenv =’HTTP://schemas.xmlsoap.org / সাবান / খাম /’>                
  <soapenv:দেহ>
    <GetListItems xmlns =’
HTTP://schemas.microsoft.com / SharePoint / সাবান /’>
      <পর্ণমোচী>নিম্নতর ফোল্ডার সঙ্গে কাস্টম তালিকা</পর্ণমোচী>
      <viewFields>  
        <ViewFields>
          <FieldRef নাম = 'শিরোনাম’ />
          <FieldRef নাম = 'EncodedAbsUrl’ />
        </ViewFields>
      </viewFields>
      <queryOptions>
        <QueryOptions>
          <ফোল্ডার>
HTTP://demoserver1/Blogging পরিস্থিতিতে / তালিকার / উপ ফোল্ডার / বছর 2006 সঙ্গে কাস্টম তালিকা</ফোল্ডার>
        </QueryOptions>
      </queryOptions>
   
</GetListItems>
  </soapenv:দেহ>
</soapenv:খাম>

এই সমস্যা এড়ানোর জন্য উদাহরণ এবং আলোচনার অনেক আমাকে প্রয়োজন মনে করেন যে নেতৃত্বে <QueryOptions> এবং একটি ফোল্ডার নাম উল্লেখ করুন.  আমার জন্য, আমি উভয় মোড়ানো এটা ভিতরে করতে হবে <queryOptions> সেইসাথে জন্য সম্পূর্ণরূপে নির্ধারিত একটি URL নির্দিষ্ট <ফোল্ডার> নোড.

এখানে jQuery AJAX এর সেটআপ:

$(দলিল).প্রস্তুত(কাজ() {
       soapEnv = ছিল
           "<soapenv:খাম xmlns:soapenv =’HTTP://schemas.xmlsoap.org / সাবান / খাম /’> \
               <soapenv:দেহ> \
                    <GetListItems xmlns =’HTTP://schemas.microsoft.com / SharePoint / সাবান /’> \
                       <পর্ণমোচী>নিম্নতর ফোল্ডার সঙ্গে কাস্টম তালিকা</পর্ণমোচী> \
                       <viewFields> \
                           <ViewFields> \
                              <FieldRef নাম = 'শিরোনাম’ /> \
                              <FieldRef নাম = 'EncodedAbsUrl’ /> \
                          </ViewFields> \
                       </viewFields> \
                       <queryOptions> \
                         <QueryOptions> \
                           <ফোল্ডার>http://demoserver1/Blogging পরিস্থিতিতে / তালিকার / উপ ফোল্ডার / বছর 2006 সঙ্গে কাস্টম তালিকা</ফোল্ডার> \
                         </QueryOptions> \
                       </queryOptions> \
                   </GetListItems> \
               </soapenv:দেহ> \
           </soapenv:খাম>";

</শেষ>

আমার ব্লগ এর জন্য সাবস্ক্রাইব করুন.

টুইটারে আমার অনুসরণ http://www.twitter.com/pagalvin

6 চিন্তা "Lists.asmx, GetListItems এবং ফোল্ডার

  1. ড্যানিয়েল

    উচ্চ

    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.

  2. ডগ

    এই পোষ্টটির জন্য একটি গুচ্ছ ধন্যবাদ, পল. আমি ColdFusion cfhttp মাধ্যমে GetListItems গ্রাস করার চেষ্টা করছি, এবং খাম অধিকার পেতে পারে না. অবশেষে এই পোস্টে জুড়ে এসেছিল, এবং আপনার উদাহরণ flawlessly কাজ. ধন্যবাদ আবার.

  3. ডগ

    BTW – আপনি সমস্ত সঠিক সাবান খামে তালিকা সম্পদ জানি? microsoft.com প্রকাশিত GetList আইটেম জন্য আপনার এখানে মেলে না…

একটি উত্তর ত্যাগ Bob Bolton উত্তর বাতিল করুন

আপনার ইমেইল ঠিকানা প্রচার করা হবে না. প্রয়োজনীয় ক্ষেত্রগুলি চিহ্নিত করা আছে *