XML-RPC - Format de réponse

Les réponses ressemblent beaucoup à des demandes, avec quelques rebondissements supplémentaires. Si la réponse est réussie - la procédure a été trouvée, exécutée correctement et résultats renvoyés - alors la réponse XML-RPC sera beaucoup comme une demande, à l' exception que le methodCall élément est remplacé par un methodResponse élément et il n'y a pas methodName élément:

<?xml version="1.0"?>
<methodResponse>
   <params>
      <param>
         <value><double>18.24668429131</double></value>
      </param>
   </params>
</methodResponse>
  • Une réponse XML-RPC ne peut contenir qu'un seul paramètre.

  • Ce paramètre peut être un tableau ou une structure, il est donc possible de renvoyer plusieurs valeurs.

  • Il est toujours nécessaire de renvoyer une valeur en réponse. Une "valeur de succès" - peut-être une valeur booléenne définie sur true (1).

Comme les demandes, les réponses sont empaquetées en HTTP et ont des en-têtes HTTP. Toutes les réponses XML-RPC utilisent le code de réponse 200 OK, même si une erreur est contenue dans le message. Les en-têtes utilisent une structure commune similaire à celle des requêtes, et un ensemble typique d'en-têtes peut ressembler à ceci:

HTTP/1.1 200 OK
Date: Sat, 06 Oct 2001 23:20:04 GMT
Server: Apache.1.3.12 (Unix)
Connection: close
Content-Type: text/xml
Content-Length: 124
  • XML-RPC nécessite uniquement la prise en charge de HTTP 1.0, mais HTTP 1.1 est compatible.

  • Le Content-Type doit être défini sur text / xml.

  • L'en-tête Content-Length spécifie la longueur de la réponse en octets.

Une réponse complète, avec les deux en-têtes et une charge utile de réponse, ressemblerait à ceci:

HTTP/1.1 200 OK
Date: Sat, 06 Oct 2001 23:20:04 GMT
Server: Apache.1.3.12 (Unix)
Connection: close
Content-Type: text/xml
Content-Length: 124

<?xml version="1.0"?>
<methodResponse>
   <params>
      <param>
         <value><double>18.24668429131</double></value>
      </param>
   </params>
</methodResponse>

Une fois la réponse envoyée du serveur XML-RPC au client XML-RPC, la connexion est fermée. Les demandes de suivi doivent être envoyées sous forme de connexions XML-RPC distinctes.