Ответы очень похожи на запросы, с несколькими дополнительными поворотами. Если ответ успешен — процедура была найдена, выполнена правильно и вернула результаты — тогда ответ 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.