Avui he descobert que la GetList() mètode en lists.asmx servei web ha de ser anomenat amb molta cura, o és propens a llançar un misteriós "Valor no pot ser nul·la" excepció (i que està suposant que pot aconseguir per davant del missatge d'error genèric fins i tot pitjor, "Una excepció del tipus ' Microsoft.SharePoint.SoapServer.SoapServerException’ s'ha llançat.") Específicament, He trobat que vostè no pot facilitar cap tipus de prefix en el mètode GetList. El següent fragment de jQuery il·lustra el punt:
Si fas això, el servei web respon amb "Valor no pot ser nul" segons aquest Fiddler-proporcionat expedient HTTP:
<?versió XML = "1.0" codificació = "utf-8"?>
<sabó:Sobres
xmlns:sabó ="http://Schemas.xmlsoap.org/SOAP/envelope/"
xmlns:XSi = "http://www.w3.org/2001/XMLSchema”
xmlns:XSD ="http://www.w3.org/ 2001/XMLSchema"><sabó:Cos>
<sabó:Culpa>
<faultcode>sabó:Servidor</faultcode>
<faultstring>
Excepció del tipus ' Microsoft.SharePoint.SoapServer.SoapServerException’ va ser llançat.
</faultstring>
<detall>
<errorstring xmlns ="http://Schemas.Microsoft.com/SharePoint/SOAP/">
Valor no poden ser nul·les.
</errorstring>
</detall>
</sabó:Culpa>
</sabó:Cos>
</sabó:Sobres>
Clar, vostè probablement no afegir aquest prefix "s0" en el seu propi, però algunes eines són propensos a fer-ho (com eclipsi).
Això és el més confús / frustrant perquè altres mètodes tolerar prefixos. Per exemple, el GetListCollection mètode no li importa si això és estat prefixat, fins i tot amb prefixos tonteries com "xyzzy":
Aquest "valor no pot ser nul·la" sembla bastant comú amb lists.asmx així que espero que això ajudarà algú fora en el futur.
</final>
Follow me on Twitter http://www.twitter.com/pagalvin
Un petit comentari
Vaig pensar que et vas perdre “S0” prefix per lisname
provar això
Tasques