XML-RPC介绍(转载)

XMLRPC协议中文说明
xmlrpc


xmlrpc是一个基于Internet的远程过程调用协议。

它主要通过消息(Message)调用工作,基于HTTP-POST,Message的Body部分是XML格式,同样当结果返回的时候也是XML格式。过程的参数可以是基本变量(Scalar),还可以是一个结构(struct)或者是一个数组(array)。


一个调用实例:

POST /RPC2 HTTP/1.0

User-Agent: Frontier/5.1.2 (WinNT)

Host: betty.userland.com

Content-Type: text/xml

Content-length: 181






examples.getStateName





41








调用头部说明

User-Agent和Host是必须的。

Content-Type是text/xml.

Content-Length必须提供,而且必须是正确的!


Body部分说明:

首先可以看到是一个XML格式的文本。主体部分是一个methodCall元素,包含着方法名称(MethodName)及其调用参数(params)。

部分,XMLPRC支持的类型有下列几种:

1、变量(Scalar)类型:

里面可以包含的类型有;

类型 说明 实例

或者 整数 -12

0(false),1(true)

字符串 hello world

浮点数 -12.123

时间 19980717T14:08:55

base64编码 eW91IGNhbid0IHJlYWQgdGhpcyE=

缺省类型是string.

2、s

类型包含若干个,每一个包含.

实例:





lowerBound

18





upperBound

139





3、s

包含若干个,每一个可以包含若干个

实例:





12

Egypt

0

-31






XMLRPC的基本类型就是上面这些。


一个响应的例子:

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










South Dakota








例子说明:

1、如果调用成功:

返回必须是200 OK;

Content-Type是text/xml.

Content-Length也是必须的,而且必须是正确的!

主体部分是一个methodResponse元素,包含着返回参数(params)及其类型。

2、如果调用不成功

主体部分是一个methodResponse元素,包含着一个及其原因,原因是一个,里面包含错误号(faultCode)和错误原因(faultString)。

譬如:

HTTP/1.1 200 OK

Connection: close

Content-Length: 426

Content-Type: text/xml

Date: Fri, 17 Jul 1998 19:55:02 GMT

Server: UserLand Frontier/5.1.2-WinNT














faultCode

4





faultString

Too many parameters.











3、params和fault不能同时存在。

你可能感兴趣的:(J2EE基础知识)