Saya dapati hari ini bahawa GetList yang() kaedah dalam lists.asmx Perkhidmatan web perlu dihubungi sangat hati-hati atau tidak terdedah untuk melontarkan satu misteri "Nilai tidak boleh batal" pengecualian (dan itu menganggap anda boleh mendapatkan masa lalu mesej ralat lebih teruk generik, "Pengecualian dari jenis ' Microsoft.SharePoint.SoapServer.SoapServerException’ telah dibuang. ") Khususnya, Saya mendapati bahawa anda tidak memberikan apa-apa jenis awalan kaedah GetList. Cebisan jQuery yang berikut menggambarkan titik:
Jika anda berbuat demikian, Perkhidmatan web bertindak-balas dengan "Nilai tidak boleh batal" seperti ini pemain biola-disediakan transkrip HTTP:
<?versi XML = "1.0" pengekodan = "utf-8"?>
<sabun:Sampul surat
xmlns:sabun ="http://schemas.xmlsoap.org / sabun / sampul surat /"
xmlns:xSi = "http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd ="http://www.W3.org/2001/XMLSchema"><sabun:Badan>
<sabun:Kesalahan>
<faultcode>sabun:Pelayan</faultcode>
<faultstring>
Pengecualian dari jenis ' Microsoft.SharePoint.SoapServer.SoapServerException’ dibuang.
</faultstring>
<terperinci>
<errorstring xmlns ="http://schemas.microsoft.com / SharePoint / sabun /">
Nilai tidak boleh batal.
</errorstring>
</terperinci>
</sabun:Kesalahan>
</sabun:Badan>
</sabun:Sampul surat>
Kursus, anda mungkin tidak akan menambah awalan "s0" itu sendiri, tetapi beberapa alat yang cenderung untuk melakukannya (seperti gerhana).
Inilah semua lebih mengelirukan / mengecewakan kerana kaedah lain bertolak awalan. Sebagai contoh, yang GetListCollection kaedah tidak kisah jika ia adalah telah bermula, Walaupun dengan awalan karut seperti "xyzzy":
Ini "nilai tidak boleh batal" kelihatan agak biasa dengan begitu mudah-mudahan ini akan membantu seseorang di hadapan lists.asmx.
</akhir>
Mengikuti aku di Twitter http://www.twitter.com/pagalvin
Komen kecil
Saya fikir bahawa anda terlepas “s0” awalan bagi lisname
cuba ini
Tugas-tugas