XML-RPC - Định dạng Yêu cầu
Yêu cầu XML-RPC là sự kết hợp của nội dung XML và tiêu đề HTTP. Nội dung XML sử dụng cấu trúc nhập dữ liệu để chuyển các tham số và chứa thông tin bổ sung xác định thủ tục nào đang được gọi, trong khi tiêu đề HTTP cung cấp một trình bao bọc để chuyển yêu cầu qua Web.
Mỗi yêu cầu chứa một tài liệu XML duy nhất, có phần tử gốc là phần tử methodCall . Mỗi phần tử methodCall chứa một phần tử methodName và một phần tử params . Phần tử methodName xác định tên của thủ tục được gọi, trong khi phần tử params chứa danh sách các tham số và giá trị của chúng. Mỗi params yếu tố bao gồm một danh sách các yếu tố param mà lần lượt chứa giá trị các yếu tố.
Ví dụ: để chuyển một yêu cầu đến một phương thức gọi là circleArea , phương thức này nhận tham số Double (cho bán kính), yêu cầu XML-RPC sẽ giống như sau:
<?xml version="1.0"?>
<methodCall>
<methodName>circleArea</methodName>
<params>
<param>
<value><double>2.41</double></value>
</param>
</params>
</methodCall>
Tiêu đề HTTP cho các yêu cầu này sẽ phản ánh người gửi và nội dung. Mẫu cơ bản trông như sau:
POST /target HTTP 1.0
User-Agent: Identifier
Host: host.making.request
Content-Type: text/xml
Content-Length: length of request in bytes
Ví dụ: nếu phương thức circleArea có sẵn từ máy chủ XML-RPC đang lắng nghe tại / xmlrpc , thì yêu cầu có thể giống như sau:
POST /xmlrpc HTTP 1.0
User-Agent: myXMLRPCClient/1.0
Host: 192.168.124.2
Content-Type: text/xml
Content-Length: 169
Được lắp ráp, toàn bộ yêu cầu sẽ giống như sau:
POST /xmlrpc HTTP 1.0
User-Agent: myXMLRPCClient/1.0
Host: 192.168.124.2
Content-Type: text/xml
Content-Length: 169
<?xml version="1.0"?>
<methodCall>
<methodName>circleArea</methodName>
<params>
<param>
<value><double>2.41</double></value>
</param>
</params>
</methodCall>
Đó là một yêu cầu HTTP thông thường, với trọng tải được xây dựng cẩn thận.