Lists.asmx, GetList и "Вредноста не може да биде нула”

Ги открив денес дека GetList() метод во lists.asmx веб сервис треба да се викаат многу внимателно или тоа е склони да се фрли една мистериозна "Вредноста неможе да биде" исклучок (и тоа е под претпоставка дека може да добие минато дури и полошо генерички порака за грешка, “Exception of type ‘Microsoft.SharePoint.SoapServer.SoapServerException’ беше фрлена. ")  Специјално, Сфатив дека не можете да обезбеди било кој вид на префиксот на GetList метод.  Следниве jQuery програмка илустрира поентата:

image

Ако го направите тоа, на веб сервисот одговара со "Вредноста не може да биде нула", како на овој свирач-предвидени 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>
        Exception of type ‘Microsoft.SharePoint.SoapServer.SoapServerException’ беше фрлена.
      </faultstring>
      <детали>
        <errorstring xmlns ="
HTTP://schemas.microsoft.com / SharePoint / сапун /">
Вредност не може да биде нула.
        </errorstring>
      </детали>
    </сапун:Грешка>
  </сапун:Тело>
</сапун:Плик>

Се разбира, најверојатно не би додал дека "s0" префикс на свој, но некои алатки се склони да го направи тоа (како Eclipse).

Ова е сè повеќе и повеќе збунувачки / фрустрирачки, бидејќи други методи толерира префикси.  На пример, на GetListCollection метод не му пречи, ако тоа е се со префикс, дури и со глупости префикси како "xyzzy":

image

Овој "вредност не може да биде нула" се чини доста заедничко со lists.asmx па се надевам дека ова ќе помогне на некој во иднина.

</крајот>

Да се ​​претплатите на мојот блог.

Следете ме на Twitter во http://www.twitter.com/pagalvin

Една мисла на "Lists.asmx, GetList и "Вредноста не може да биде нула”

Остави Одговори

Вашата е-маил адреса нема да бидат објавени. Задолжителни полиња се означени *