Учебники

XML-RPC — Формат ответа

Ответы очень похожи на запросы, с несколькими дополнительными поворотами. Если ответ успешен — процедура была найдена, выполнена правильно и вернула результаты — тогда ответ XML-RPC будет очень похож на запрос, за исключением того, что элемент methodCall заменяется элементом methodResponse, а элемент methodName отсутствует:

<?xml version="1.0"?>
<methodResponse>
   <params>
      <param>
         <value><double>18.24668429131</double></value>
      </param>
   </params>
</methodResponse>
  • Ответ XML-RPC может содержать только один параметр.

  • Этот параметр может быть массивом или структурой, поэтому можно возвращать несколько значений.

  • Всегда требуется возвращать значение в ответе. «Значение успеха» — возможно, логическое значение true (1).

Ответ XML-RPC может содержать только один параметр.

Этот параметр может быть массивом или структурой, поэтому можно возвращать несколько значений.

Всегда требуется возвращать значение в ответе. «Значение успеха» — возможно, логическое значение true (1).

Как и запросы, ответы упакованы в HTTP и имеют заголовки HTTP. Все ответы XML-RPC используют код ответа 200 OK, даже если в сообщении содержится ошибка. Заголовки используют общую структуру, аналогичную структуре запросов, и типичный набор заголовков может выглядеть следующим образом:

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 требует только поддержки HTTP 1.0, но HTTP 1.1 совместим.

  • Тип содержимого должен быть установлен на text / xml.

  • Заголовок Content-Length указывает длину ответа в байтах.

XML-RPC требует только поддержки HTTP 1.0, но HTTP 1.1 совместим.

Тип содержимого должен быть установлен на text / xml.

Заголовок Content-Length указывает длину ответа в байтах.

Полный ответ с заголовками и полезной нагрузкой будет выглядеть следующим образом:

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>

После доставки ответа от сервера XML-RPC клиенту XML-RPC соединение закрывается. Последующие запросы необходимо отправлять как отдельные соединения XML-RPC.