RPC(RemoteProcedureCallProtocol)
XML-RPC是一个远程过程调用(远端程序呼叫)(remote procedure call,RPC)的分布式计算协议,通过XML将调用函数封装,并使用HTTP协议作为传送机制
以下的例子为日常的数据类型在转化为等同的XML后的面貌:
名称 | 标记范例 | 描述 |
---|---|---|
array |
<array> <data> <value><i4>1404</i4></value> <value><string>Something here</string></value> <value><i4>1</i4></value> </data> </array> |
|
base64 |
<base64>eW91IGNhbid0IHJlYWQgdGhpcyE=</base64> |
|
boolean |
<boolean>1</boolean> |
布尔型逻辑值 (0 或 1) |
date/time |
<dateTime.iso8601>19980717T14:08:55</dateTime.iso8601> |
|
double |
<double>-12.53</double> |
双倍精确浮点数 |
integer |
<i4>42</i4> or <int>42</int> |
整数 |
string |
<string>Hello world!</string> |
字符串,必须遵守XML encoding(XML encoding)的格式。 |
struct |
<struct> <member> <name>foo</name> <value><i4>1</i4></value> </member> <member> <name>bar</name> <value><i4>2</i4></value> </member> </struct> |
结构体 |
nil |
<nil/>
|
范例
以下为一个寻常的 XML-RPC 请求的范例:
<?xml version="1.0"?> <methodCall> <methodName>examples.getStateName</methodName> <params> <param> <value><i4>40</i4></value> </param> </params> </methodCall>
相对于上述请求,以下为一个寻常回应的范例:
<?xml version="1.0"?> <methodResponse> <params> <param> <value><string>South Dakota</string></value> </param> </params> </methodResponse>
以下为一个寻常的 XML-RPC 错误:
<?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>
Java
- Apache XML-RPC: Open source library for Java
posted on 2013-05-28 10:00 restService 阅读(275) 评论(0) 编辑 收藏 举报