Lists.asmx, GetList och "värde kan inte vara null”

Jag upptäckte idag att GetList() metod i lists.asmx webbtjänsten har att kallas mycket noggrant eller den är benägna att kasta en mystisk "Värdet får inte vara null" undantag (och som förutsatt att du kan komma förbi ännu värre allmänna felmeddelande, "-Undantag av typ" Microsoft.SharePoint.SoapServer.SoapServerException’ kastades.")  Särskilt, Jag tyckte att du inte kan tillhandahålla någon form av prefixet på metoden GetList.  Följande jQuery utdrag illustrerar punkten:

image

Om du gör det, webbtjänsten svarar med "Värdet får inte vara null" visas enligt detta Spelman-enligt HTTP avskrift:

<?XML-version = "1.0" Encoding = "utf-8"?>
  <tvål:Kuvert
     xmlns:SOAP ="
http://schemas.xmlsoap.org/soap/envelope/"    
     xmlns:xsi = "
http://www.w3.org/2001/XMLSchema-instance
     xmlns:XSD ="
http://www.w3.org/2001/XMLSchema">

  <tvål:Organ>
    <tvål:Fel>
      <faultcode>tvål:Servern</faultcode>
      <faultstring>
        -Undantag av typ "Microsoft.SharePoint.SoapServer.SoapServerException’ kastades.
      </faultstring>
      <detalj>
        <ErrorString xmlns ="
http://schemas.microsoft.com/SharePoint/SOAP/">
Värdet får inte vara null.
        </ErrorString>
      </detalj>
    </tvål:Fel>
  </tvål:Organ>
</tvål:Kuvert>

Självklart, du skulle inte förmodligen till att "s0" prefix på egen, men vissa verktyg är benägna att göra det. (som Eclipse).

Detta är desto mer förvirrande / frustrerande eftersom andra metoder tolerera prefix.  Till exempel, den GetListCollection metoden hänsyn inte till om det är förutfastställt, även med nonsens prefix som "xyzzy":

image

Detta "värdet inte får vara null" verkar ganska vanligt med lists.asmx så förhoppningsvis detta kommer att hjälpa någon i framtiden.

</slutet>

Prenumerera på min blogg.

Följ mig på Twitter vid http://www.twitter.com/pagalvin

En reaktion på ”Lists.asmx, GetList och "värde kan inte vara null”

Lämna ett svar till PVA Avbryt svar

Din e-postadress kommer inte att publiceras. behövliga fält är markerade *