Ik ontdekte vandaag dat de GetList() methode in lists.asmx web-service moet zeer zorgvuldig worden genoemd of het is gevoelig voor het gooien van een mysterieuze "Waarde null kan niet" uitzondering (en dat de veronderstelling dat kunt u voorbij het nog erger algemene foutbericht, "Uitzondering van het type ' Microsoft.SharePoint.SoapServer.SoapServerException’ werd gegooid.") Specifiek, Ik vond dat u niet elke vorm van voorvoegsel te op de GetList-methode verstrekken. De volgende jQuery fragment illustreert het punt:
Als u dat doen, de webservice reageert met "Waarde kan niet null" als per dit Fiddler-geboden HTTP transcript:
<?XML version = "1.0" encoding = "utf-8"?>
<zeep:Envelop
xmlns:zeep ="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:XSi = "http://www.w3.org/2001/XMLSchema-instance”
xmlns:XSD ="http://www.w3.org/2001/XMLSchema"><zeep:Lichaam>
<zeep:Schuld>
<FaultCode>zeep:Server</FaultCode>
<FaultString>
Uitzondering van het type ' Microsoft.SharePoint.SoapServer.SoapServerException’ werd gegooid.
</FaultString>
<detail>
<ErrorString xmlns ="http://schemas.Microsoft.com/SharePoint/SOAP/">
Waarde kan niet null.
</ErrorString>
</detail>
</zeep:Schuld>
</zeep:Lichaam>
</zeep:Envelop>
Natuurlijk, u niet zou waarschijnlijk toevoegen dat "s0" voorvoegsel op uw eigen, maar sommige tools zijn geneigd om het te doen (zoals Eclipse).
Dit is des te meer verwarrend / frustrerend omdat andere methoden voorvoegsels tolereren. Bijvoorbeeld, de GetListCollection methode erg niet als het wordt zijn voorafgegaan, zelfs met onzin voorvoegsels zoals "xyzzy":
Dit "waarde null kan niet" lijkt vrij algemeen met lists.asmx dus hopelijk dit iemand uit in de toekomst helpen zal.
</einde>
Volg mij op Twitter op http://www.twitter.com/pagalvin
Een kleine opmerking
Ik denk dat je gemist “S0” voorvoegsel voor lisname
Probeer dit
Taken