XML-RPC - Định dạng phản hồi

Các câu trả lời giống như các yêu cầu, với một vài điểm bổ sung. Nếu phản hồi thành công - thủ tục được tìm thấy, thực thi chính xác và trả về kết quả - thì phản hồi XML-RPC sẽ trông giống như một yêu cầu, ngoại trừ phần tử methodCall được thay thế bằng phần tử methodResponse và không có phần tử methodName :

<?xml version="1.0"?>
<methodResponse>
   <params>
      <param>
         <value><double>18.24668429131</double></value>
      </param>
   </params>
</methodResponse>
  • Một phản hồi XML-RPC chỉ có thể chứa một tham số.

  • Tham số đó có thể là một mảng hoặc một cấu trúc, vì vậy có thể trả về nhiều giá trị.

  • Nó luôn được yêu cầu trả về một giá trị để phản hồi. Một "giá trị thành công" - có lẽ là một Boolean được đặt thành true (1).

Giống như yêu cầu, phản hồi được đóng gói trong HTTP và có tiêu đề HTTP. Tất cả các phản hồi XML-RPC sử dụng mã phản hồi 200 OK, ngay cả khi có lỗi trong thư. Tiêu đề sử dụng cấu trúc chung tương tự như cấu trúc của yêu cầu và một tập hợp tiêu đề điển hình có thể trông giống như:

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 chỉ yêu cầu hỗ trợ HTTP 1.0, nhưng HTTP 1.1 thì tương thích.

  • Loại-Nội dung phải được đặt thành văn bản / xml.

  • Tiêu đề Nội dung-Độ dài chỉ định độ dài của phản hồi tính bằng byte.

Một phản hồi hoàn chỉnh, có cả tiêu đề và trọng tải phản hồi, sẽ giống như sau:

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>

Sau khi phản hồi được gửi từ máy chủ XML-RPC đến máy khách XML-RPC, kết nối sẽ bị đóng. Các yêu cầu tiếp theo cần được gửi dưới dạng các kết nối XML-RPC riêng biệt.