Tag Archives: lists.asmx

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

Lists.asmx, GetList এবং "মান বাতিল করা সম্ভব নয়”

আজ আমি আবিষ্কার করেছি যে GetList() এ পদ্ধতি lists.asmx ওয়েব সার্ভিস খুব সাবধানে হবে বলা আছে বা ব্যতিক্রম "নাল মান হতে পারে না" এটি একটি রহস্যময় নিক্ষেপ প্রবণ এর (এবং অভিমানী যে আপনি এমনকি খারাপ জেনেরিক ত্রুটির বার্তা গত পেতে পারেন, “Exception of type ‘Microsoft.SharePoint.SoapServer.SoapServerException’ নিক্ষিপ্ত হয়েছিল. ")  বিশেষভাবে, আমি আপনাকে GetList পদ্ধতির উপর উপসর্গ কোন ধরনের প্রদান করতে পারেন না যে খুঁজে পাওয়া যায় নি.  নিম্নলিখিত jQuery স্নিপেট পয়েন্ট ব্যাখ্যা:

image

আপনি যে যদি, ওয়েব সার্ভিস এই অনুযায়ী "value নাল হতে পারে না" দিয়ে সাড়া fiddler-HTTP-র প্রতিলিপি দেওয়া:

<?xml version="1.0" encoding="utf-8"?>
  <সাবান:খাম
     xmlns:সাবান ="
HTTP://schemas.xmlsoap.org / সাবান / খাম /"    
     xmlns:xsi = "
HTTP://www.w3.org/2001/XMLSchema-instance"
     xmlns:xsd ="
HTTP://www.w3.org/2001/XMLSchema">

  <সাবান:দেহ>
    <সাবান:ফল্ট>
      <faultcode>সাবান:সার্ভার</faultcode>
      <faultstring>
        Exception of type ‘Microsoft.SharePoint.SoapServer.SoapServerException’ নিক্ষিপ্ত হয়.
      </faultstring>
      <বিস্তারিত>
        <ত্রুটি স্ট্রিং xmlns ="
HTTP://schemas.microsoft.com / SharePoint / সাবান /">
মান বাতিল করা সম্ভব নয়.
        </errorstring>
      </বিস্তারিত>
    </সাবান:ফল্ট>
  </সাবান:দেহ>
</সাবান:খাম>

অবশ্যই, সম্ভবত আপনি আপনার নিজের উপর যে "s0" উপসর্গ যোগ করা হবে, কিন্তু কিছু সরঞ্জাম এটা প্রবণ হয় (অন্ধকার চাই).

এই সব আরো বিভ্রান্ত হয় / অন্য পদ্ধতি উপসর্গ সহ্য কারণ হতাশাজনক.  উদাহরণস্বরূপ, দী GetListCollection এটি অগ্রে যুক্ত করা হয়েছে ব্লক পদ্ধতি মনে করা হয় না, এমনকি "xyzzy" মত আজেবাজে উপসর্গ সঙ্গে:

image

এই lists.asmx সঙ্গে মোটামুটি সাধারণ বলে মনে হয় "মান নাল হতে পারে না" তাই আশা করছি এই ভবিষ্যতে কেউ খুঁজে সাহায্য করবে.

</শেষ>

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

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