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

Аз открих днес, че GetList() метод в lists.asmx уеб услугата трябва да бъде наречен много внимателно или тя е склонна да хвърлят един тайнствен "Стойност може да бъде null" изключение (и това се предполага, можете да получите миналото дори по-лошо общо съобщение за грешка, "С изключение на тип" Microsoft.SharePoint.SoapServer.SoapServerException’ е било хвърлено.")  Специално, Открих, че не може да даде всякакъв вид на префикс на метода на GetList.  Следните jQuery фрагмент илюстрира точка:

image

Ако направите това, уеб услугата отговаря с "Стойност не може да бъде null" като това цигулар-при условие че 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">

  <сапун:Тяло>
    <сапун:Отказ>
      <faultcode>сапун:Сървър</faultcode>
      <faultstring>
        Изключение от тип "Microsoft.SharePoint.SoapServer.SoapServerException’ е било хвърлено.
      </faultstring>
      <детайли>
        <errorstring xmlns ="
HTTP://schemas.Microsoft.com/SharePoint/SOAP/">
Стойността не може да бъде нулев.
        </errorstring>
      </детайли>
    </сапун:Отказ>
  </сапун:Тяло>
</сапун:Плик>

Разбира се, вероятно няма да добави този префикс "s0" по своему, но някои инструменти са склонни да го направя (като затъмнение).

Това е още по-объркващо / разочароващ, защото други методи толерира представки.  Например, на GetListCollection метод няма нищо против, ако той е бил предварително фиксиран, дори и с глупости представки като "xyzzy":

image

Това "стойност може да бъде null" изглежда доста често с lists.asmx, така че се надяваме това ще помогне на някой, в бъдеще.

</край>

Абонирайте се за моя блог.

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

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

Оставете отговор PVA Отказване на отговора

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани *