XML-RPC - รูปแบบคำขอ
คำขอ XML-RPC เป็นการรวมกันของเนื้อหา XML และส่วนหัว HTTP เนื้อหา XML ใช้โครงสร้างการพิมพ์ข้อมูลเพื่อส่งผ่านพารามิเตอร์และมีข้อมูลเพิ่มเติมที่ระบุว่าโพรซีเดอร์ใดถูกเรียกใช้ในขณะที่ส่วนหัว HTTP จัดเตรียม wrapper สำหรับส่งคำขอผ่านเว็บ
แต่ละคำขอมีเอกสาร XML เดียวซึ่งมีองค์ประกอบรากเป็นองค์ประกอบmethodCall แต่ละองค์ประกอบmethodCallมีองค์ประกอบmethodNameและองค์ประกอบparams methodNameระบุองค์ประกอบชื่อของขั้นตอนที่จะเรียกว่าในขณะที่paramsองค์ประกอบมีรายชื่อของพารามิเตอร์และค่านิยมของพวกเขา แต่ละparamsองค์ประกอบรวมถึงรายการขององค์ประกอบพระรามซึ่งในทางกลับกันมีค่าองค์ประกอบ
ตัวอย่างเช่นในการส่งคำขอไปยังเมธอดที่เรียกว่าcircleAreaซึ่งรับพารามิเตอร์Double (สำหรับรัศมี) คำขอ XML-RPC จะมีลักษณะดังนี้:
<?xml version="1.0"?>
<methodCall>
<methodName>circleArea</methodName>
<params>
<param>
<value><double>2.41</double></value>
</param>
</params>
</methodCall>
ส่วนหัว HTTP สำหรับคำขอเหล่านี้จะแสดงถึงผู้ส่งและเนื้อหา เทมเพลตพื้นฐานมีลักษณะดังนี้:
POST /target HTTP 1.0
User-Agent: Identifier
Host: host.making.request
Content-Type: text/xml
Content-Length: length of request in bytes
ตัวอย่างเช่นถ้าเมธอด circleArea พร้อมใช้งานจากเซิร์ฟเวอร์ XML-RPC ที่ฟังที่/ xmlrpcคำขออาจมีลักษณะดังนี้:
POST /xmlrpc HTTP 1.0
User-Agent: myXMLRPCClient/1.0
Host: 192.168.124.2
Content-Type: text/xml
Content-Length: 169
เมื่อประกอบแล้วคำขอทั้งหมดจะมีลักษณะดังนี้:
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>
มันเป็นคำขอ HTTP ธรรมดาที่มีการสร้างเพย์โหลดอย่างระมัดระวัง