J'ai découvert aujourd'hui que la GetList() méthode en lists.asmx service Web doit être appelée très soigneusement ou il est enclin à lancer un mystérieux « Valeur ne peut pas être null » exception (et qui est en supposant que vous aurez passé le message d'erreur générique encore pire, "Exception de type « Microsoft.SharePoint.SoapServer.SoapServerException’ a été lancée. ») Spécifiquement, Je trouve que vous ne peut pas fournir toute sorte de préfixe sur la méthode GetList. L'extrait suivant de jQuery illustre le point:
Si vous faites cela, le service web répond avec « Valeur ne peut être null » selon cette violon-fourni la transcription HTTP:
<?XML version = "1.0" Encoding = « utf-8 »?>
<savon:Enveloppe
xmlns:savon ="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance”
xmlns:xsd ="http://www.w3.org/2001/XMLSchema"><savon:Corps>
<savon:Faute>
<FaultCode>savon:Serveur</FaultCode>
<FaultString>
Exception de type « Microsoft.SharePoint.SoapServer.SoapServerException’ a été levée.
</FaultString>
<détail>
<ErrorString xmlns ="http://schemas.Microsoft.com/SharePoint/SOAP/">
Valeur ne peut pas être null.
</ErrorString>
</détail>
</savon:Faute>
</savon:Corps>
</savon:Enveloppe>
Bien sûr, vous ne serait pas probablement ajouter ce préfixe « s0 » sur votre propre, mais certains outils ont tendance à le faire (comme Eclipse).
C'est d'autant plus déroutant / frustrant parce que les autres méthodes de tolèrent les préfixes. Par exemple, le GetListCollection méthode n'est pas l'esprit si elle est été préfixé, même avec les préfixes absurdes comme « xyzzy »:
Cette « valeur ne peut pas être null » semble assez commun avec lists.asmx donc j'espère que cela aidera quelqu'un sortir à l'avenir.
</fin>
Me suivre sur Twitter à http://www.twitter.com/pagalvin
Un petit commentaire
Je pense que vous avez manqué “S0” préfixe pour lisname
Essayez ceci
Tâches