您的位置: 飞扬精品软件园 >> 文章中心 >> 软件使用 >> 程序开发 >> 在PHP中利用XML技术构造远程服务

相关文章链接

本类文章排行

最新新闻资讯

    在PHP中利用XML技术构造远程服务

    在PHP中利用XML技术构造远程服务


    • 阅览次数: 文章来源: 原文作者: 整理日期: 2010-07-23


     

    三、xml_rpc协议

    完整的xml_rpc规范可以在http://www.xmlrpc.com/spec找到。下面是其要点说明。

    xml_rpc请求

    xml_rpc请求应该是http post请求,它的正文是xml格式。请求的xml部分格式如下: 

    <?xml version="1.0" ?>
    <methodcall>
    <methodname>examples.getstatename</methodname>
    <params>
    <param>
    <value><i4>41</i4></value>
    </param>
    </params>
    </methodcall>

    指定数据发送到哪里的url并未在这里指定。如果服务器专门用来进行rpc处理,它可能是“/”。上述xml文档中的有效载荷是一个“methodcall”结构。methodcall必须包含一个“methodname”子元素,“methodname”子元素包含一个描述待调用方法的字符串。如何解释“methodname”的内容完全由服务器决定,例如它可以是一个执行文件的名字,可以是数据库中记录的名字,或者任何其他东西。如果过程接收参数,“methodcall”可以包含一个“params”元素以及若干个“param”子元素。每一个“param”元素包含一个带有类型描述符的值,类型描述符如下表所示:

    标记说明

    <i4>或<int> 四字节的带符号整数,如12
    <boolean> 0(false),或1(true)
    <string> 字符串,如“hello world”
    <double> 双精度带符号浮点数,如-12.214
    <datetime.iso8601> 日期/时间,如19980717t14:08:55
    <base64> base64编码的二进制数据,如ew91igbid0ihjlqgdghpcye

    结构

    值可以是一个结构,结构用元素描述。每个包含多个,每个包含一个和一个。下面是一个由两个元素构成的结构:

    <struct>
    <member>
    <name>name</name>
    <value><string>member1</string></value>
    </member>
    <member>
    <name>member2</name>
    <value><i4>19</i4></value>
    </member>
    </struct>
    

    可以嵌套,任意可以包含或者任意其它类型,包括。

    数组

    值可以是数组类型,数组用元素描述。每个元素包含一个元素,元素里面可以包含任意多个元素。下面是数组元素的一个例子:

    <array>
    <data>
    <value><boolean>0</boolean></value>
    <value><i4>9</i4></value>
    <value><string>hello</string></value>
    </data>
    </array>

    元素没有名字。如前例所示,元素的值可以是各种类型。元素可以嵌套,任何都可以包含或者其他类型,如上面介绍的。

    xml_rpc应答

    xml_rpc应答是一个http应答,内容类型是text/xml。应答正文的格式如下:

    <?xml version="1.0"?>
    <methodresponse>
    <params>
    <param>
    <value><string>abcdefg</string></value>
    </param>
    </params>
    </methodresponse>
    


    [1] [2] [3] [4] [5]


查看所有评论

网友对在PHP中利用XML技术构造远程服务的评论

网名:
主题:
内容:
验证码: