اكتشفت اليوم أن جيتليست() الأسلوب في lists.asmx قد خدمة ويب ليتم استدعاؤها بعناية شديدة أو أنها عرضه لرمي غامض "لا يمكن أن تكون القيمة null" الاستثناء (وهذا هو افتراض يمكن أن تحصل في الماضي رسالة خطأ عامة أكثر سوءا, "استثناء من نوع' Microsoft.SharePoint.SoapServer.SoapServerException’ وقد ألقيت. ") على وجه التحديد, لقد وجدت أن كنت لا توفر أي نوع من بادئة على الأسلوب جيتليست. مسج المقتطف التالي يوضح هذه النقطة:
إذا كنت تفعل ذلك, تستجيب خدمة ويب مع "لا يمكن أن تكون القيمة null" وفقا لهذا fiddler-قدمت نسخة HTTP:
<?إصدار xml = "1.0" ترميز = "utf-8"?>
<الصابون:مغلف
xmlns:صابون ="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance”
xmlns:xsd ="http://www.w3.org/2001/XMLSchema"><الصابون:الهيئة>
<الصابون:خطأ>
<فاولتكودي>الصابون:خادم</فاولتكودي>
<فولتسترينج>
استثناء من نوع ' Microsoft.SharePoint.SoapServer.SoapServerException’ وألقيت.
</فولتسترينج>
<التفاصيل>
<ارورسترينج xmlns ="http://schemas.microsoft.com/sharepoint/soap/">
لا يمكن أن تكون القيمة فارغة.
</ارورسترينج>
</التفاصيل>
</الصابون:خطأ>
</الصابون:الهيئة>
</الصابون:مغلف>
طبعًا, ربما لن تضيف هذه البادئة "s0" على الجهاز الخاص بك, ولكن بعض الأدوات المعرضة للقيام بذلك (مثل كسوف الشمس).
هذا الخلط بين أكثر / محبطة لأن أساليب أخرى تحمل البادئات. وعلى سبيل المثال, في جيتليستكولكشن الأسلوب لا تمانع إذا تم ذلك مسبوقاً, حتى مع بادئات هراء مثل "xyzzy":
وهذا "لا يمكن أن تكون القيمة null" يبدو شائع إلى حد كبير مع lists.asmx لذا نأمل أن هذا سوف يساعد شخص بها في المستقبل.
</نهاية>
اتبعني على التغريد في http://www.twitter.com/pagalvin
تعليق صغير
وأعتقد أن فاتك “s0” بادئة ليسنامي
جرب هذا
المهام