Lists.asmx, GetList et « valeur ne peut pas être null”

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:

image

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 »:

image

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>

S'abonner à mon blog.

Me suivre sur Twitter à http://www.twitter.com/pagalvin

Une réflexion sur "Lists.asmx, GetList et « valeur ne peut pas être null”

Laisser une réponse

Votre adresse email ne sera pas publiée. les champs requis sont indiqués *