Tag Archives: lists.asmx

Lists.asmx, GetListItems اور پوشے

میں شیئرپوائنٹ کے ایک حصے کے طور پر فراہم کی list.asmx ویب سروس کے ارد گرد آج کسی کے لئے کچھ تحقیق کر رہا تھا 2010 (اور اسے قبل).  وہ جڑ فولڈر میں اشیاء کی فہرست حاصل کرنے کے لئے کے قابل تھا (ذیلی فولڈرز کے نام بھی شامل ہیں), لیکن ذیلی فولڈر میں موجود آئٹمز نہیں مل سکا.  میں نے کچھ internets پر کے ارد گرد دیکھ کیا اور یہ ایک حیرت کی بات عام سوال ہے.  ابھی, میں نے سادہ سا سوال ایک اچھا جواب نہیں مل سکا, "میں فولڈر علم ہو تو, میں کس طرح کے فولڈر میں اشیاء کو حاصل کروں?"  ایماندار ہونے کے لئے, میں تھوڑی دیر کے لئے یہ اپنے آپ میں ایک پتہ چاہتا تھا بعد میں وہ سب مشکل کی کوشش نہیں کی مسکراہٹ.

اس کے قائم کرنے کے لئے, میں "بلاگنگ مناظر" اور "ذیلی پوشے کے ساتھ اپنی مرضی کے مطابق کی فہرست" نامی ایک اپنی مرضی کے مطابق کی فہرست نامی ایک ویب سائٹ پیدا کیا.  میں پھر نامی فولڈر تخلیق:

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

میں فولڈر "سال 2006" کے لئے چند اشیاء شامل ہیں.  یہ کس طرح نظر آئے ہے:

image

میرے دوست C # کوڈ لکھنے بلکہ جاوا کا استعمال کرتے ہوئے نہیں ہے, تو سپ لفافے وہ واقعی کی ضرورت کیا تھی.  اس کے حاصل کرنے کے لئے, میں jQuery کا تھوڑا سا لکھا اور پھر اصل HTTP بات چیت حاصل کرنے کے لئے استعمال کیا جاتا fiddler.

یہاں متعلقہ jQuery ہے (آپ پیسٹ کریں / کاپی کرنا چاہتے ہیں تو میں نے مندرجہ ذیل کوڈ کاپی نیچے):

image

انہوں نے سب سے پہلے ایک اہم دونوں کو شامل کرنے کے لئے ہے <queryOptions> اور <QueryOptions> نوڈ.  دوسری چابی ہے کہ <فولڈر> نوڈ جو کلائنٹ رسائی حاصل ہے کرنے کے لئے ایک یو آر ایل ہے.

اس کو حاصل کرنے کے دوسرے طریقوں سے ہو سکتی ہے, jQuery استعمال کرتے وقت لیکن یہ میرے لئے اچھا کام کیا.

یہاں سے اوپر کے لئے سپ لفافے ہے:

<soapenv:لفافہ xmlns:soapenv =’HTTP://schemas.xmlsoap.org / صابن / لفافے /’>                
  <soapenv:جسم>
    <GetListItems xmlns =’
HTTP://schemas.microsoft.com / شیئرپوائنٹ / صابن /’>
      <listName>ذیلی پوشے کے ساتھ اپنی مرضی کے مطابق کی فہرست</listName>
      <viewFields>  
        <ViewFields>
          <FieldRef نام = 'کا عنوان’ />
          <FieldRef نام = 'EncodedAbsUrl’ />
        </ViewFields>
      </viewFields>
      <queryOptions>
        <QueryOptions>
          <فولڈر>
HTTP://demoserver1/Blogging مناظر / فہرستوں / ذیلی پوشے / سال 2006 کے ساتھ اپنی مرضی کے مطابق کی فہرست</فولڈر>
        </QueryOptions>
      </queryOptions>
   
</GetListItems>
  </soapenv:جسم>
</soapenv:لفافہ>

اس کے ارد گرد مثالیں اور مباحثہ بہت سے مجھے سب کی ضرورت تھی کہ یقین کرنے کے لئے کی قیادت کی <QueryOptions> اور ایک فولڈر کے نام کی وضاحت.  میرے لئے, مجھے دونوں لفاف اس کے اندر کرنے کی ضرورت ہے <queryOptions> کے ساتھ ساتھ کے لئے ایک مکمل طور پر تعلیم یافتہ یو آر ایل کی وضاحت <فولڈر> نوڈ.

یہاں jQuery AJAX سیٹ اپ ہے:

$(دستاویز).تیار(تقریب() {
       متغیر soapEnv =
           "<soapenv:لفافہ xmlns:soapenv =’HTTP://schemas.xmlsoap.org / صابن / لفافے /’> \
               <soapenv:جسم> \
                    <GetListItems xmlns =’HTTP://schemas.microsoft.com / شیئرپوائنٹ / صابن /’> \
                       <listName>ذیلی پوشے کے ساتھ اپنی مرضی کے مطابق کی فہرست</listName> \
                       <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 ویب سروس کو بہت احتیاط سے بلایا جائے ہے یا رعایت "شہوت انگیز null نہیں ہو سکتا VALUE" یہ ایک پراسرار پھینک کا شکار ہے (اور سنبھالنے ہے کہ آپ بھی بدتر عام غلطی پیغام ماضی حاصل کر سکتے ہیں, "قسم کی رعایت نہیں ' Microsoft.SharePoint.SoapServer.SoapServerException’ پھینک دیا گیا. ")  خاص طور پر, میں تم سے GetList کے طریقہ کار پر سابقہ ​​کسی بھی قسم کی فراہم نہیں کر سکتے ہیں پایا.  مندرجہ ذیل jQuery کا ٹکڑا نقطہ کی وضاحت کرتا ہے:

image

اگر آپ ایسا کرتے ہیں تو, ویب سروس اس کے مطابق "VALUE شہوت انگیز null نہیں ہو سکتا" کے ساتھ جواب fiddler-HTTP کے نقل فراہم کی:

<?xml ورژن "1.0 =" ضابطہ بندی "کو 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>
        قسم کی رعایت نہیں ' Microsoft.SharePoint.SoapServer.SoapServerException’ پھینک دیا گیا.
      </faultstring>
      <تفصیل سے>
        <غلطی سٹرنگ xmlns ="
HTTP://schemas.microsoft.com / شیئرپوائنٹ / صابن /">
ویلیو شہوت انگیز null نہیں ہو سکتا.
        </errorstring>
      </تفصیل سے>
    </صابن:غلطی>
  </صابن:جسم>
</صابن:لفافہ>

کورس کے, آپ شاید اپنے آپ کہ "s0" اپسرگ شامل نہیں کی جائے گی, لیکن کچھ ٹولز ایسا کرنے کا شکار ہیں (چاند اور سورج گرہن کی طرح).

یہ سب سے زیادہ بردوست ہے / دوسرے طریقوں سابقے برداشت کی وجہ سے مایوس کن.  مثال کے طور پر, the GetListCollection یہ prefixed رہا ہے تو طریقہ برا نہیں ہے, یہاں تک کہ "xyzzy" جیسے سابقے قسم کی معمولی ہدایات کے ساتھ:

image

یہ lists.asmx کے ساتھ منصفانہ عام لگتا ہے "VALUE شہوت انگیز null نہیں ہو سکتا" تو امید ہے کہ یہ مستقبل میں کسی کو مدد ملے گی.

</آخر>

اپنے بلاگ کو سبسکرائب کریں.

ٹویٹر پر مجھ پر عمل کریں http://www.twitter.com/pagalvin