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 ธรรมดาที่มีการสร้างเพย์โหลดอย่างระมัดระวัง