XML-RPC响应如下:
HTTP/1.1 200 OK
Connection: close
Content-Length: 158
Content-Type: text/xml
Date: Fri, 17 Jul 1998 19:55:08 GMT
Server: UserLand Frontier/ 5.1.2 -WinNT
<?
xml version="1.0"
?>
< methodResponse >
< params >
< param >
< value >< string > South Dakota </ string ></ value >
</ param >
</ params >
</ methodResponse >
< methodResponse >
< params >
< param >
< value >< string > South Dakota </ string ></ value >
</ param >
</ params >
</ methodResponse >
响应同样以XML格式返回,<methodResponse>是根元素,紧接是是响应参数<params>,相应结果被<param>包住,相应结果须指明响应参数的类型,如未指明,默认是string类型。
如果服务器端发生错误或者请求的格式不正确,允许返回错误码和错误说明,如下格式:
<?
xml version="1.0"
?>
< methodResponse >
< fault >
< value >
< struct >
< member >
< name > faultCode </ name >
< value >< int > 4 </ int ></ value >
</ member >
< member >
< name > faultString </ name >
< value >< string > Too many parameters. </ string ></ value >
</ member >
</ struct >
</ value >
</ fault >
</ methodResponse >
< methodResponse >
< fault >
< value >
< struct >
< member >
< name > faultCode </ name >
< value >< int > 4 </ int ></ value >
</ member >
< member >
< name > faultString </ name >
< value >< string > Too many parameters. </ string ></ value >
</ member >
</ struct >
</ value >
</ fault >
</ methodResponse >
XML-RPC可以很容易穿透防火墙,也很容易部署,比soap协议简单。
WordPress具备pingback功能,其实现机制就是XML-RPC。
目前很多Blog支持离线编辑功能,基本的实现机制仍是XML-RPC。通过安装软件或者浏览器插件,如Deepest Sender,构造一个XML-RPC客户端,既可实现离线编辑功能。