XML-RPC - format odpowiedzi

Odpowiedzi są bardzo podobne do próśb, z kilkoma dodatkowymi zwrotami akcji. Jeśli odpowiedź się powiedzie - procedura została znaleziona, wykonana poprawnie i zwróciła wyniki - wówczas odpowiedź XML-RPC będzie wyglądać podobnie do żądania, z tą różnicą, że element methodCall zostanie zastąpiony elementem methodResponse i nie ma elementu methodName :

<?xml version="1.0"?>
<methodResponse>
   <params>
      <param>
         <value><double>18.24668429131</double></value>
      </param>
   </params>
</methodResponse>
  • Odpowiedź XML-RPC może zawierać tylko jeden parametr.

  • Ten parametr może być tablicą lub strukturą, więc możliwe jest zwrócenie wielu wartości.

  • W odpowiedzi zawsze wymagane jest zwrócenie wartości. „Wartość sukcesu” - być może wartość logiczna ustawiona na true (1).

Podobnie jak żądania, odpowiedzi są pakowane w protokole HTTP i mają nagłówki HTTP. Wszystkie odpowiedzi XML-RPC używają kodu odpowiedzi 200 OK, nawet jeśli komunikat zawiera błąd. Nagłówki używają wspólnej struktury podobnej do struktury żądań, a typowy zestaw nagłówków może wyglądać następująco:

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 wymaga tylko obsługi protokołu HTTP 1.0, ale protokół HTTP 1.1 jest zgodny.

  • Typ zawartości musi być ustawiony na text / xml.

  • Nagłówek Content-Length określa długość odpowiedzi w bajtach.

Pełna odpowiedź, z nagłówkami i ładunkiem odpowiedzi, wyglądałaby następująco:

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>

Po dostarczeniu odpowiedzi z serwera XML-RPC do klienta XML-RPC połączenie jest zamykane. Kolejne żądania należy przesyłać jako oddzielne połączenia XML-RPC.