12.Web service

来源:互联网 发布:pyqt windows 编辑:程序博客网 时间:2024/06/07 19:39

1.Zend框架提供了包括一个客户度和一个服务器的XML-RPC实现,它的接口是完全面向对象。

1)实例化XML-RPC客户端:$client = new Zend_XmlRpc_Client($xmlrpcServerUrl)

2)实例化XML-RPC服务端:$server = new Zend_XmlRpc_Server();


2.SOAP Web Service

SOAP使用XML在客户端和服务器之间传递信息。传递的基本信息单位是一个对象。服务器需要指定可用的方法和属性。

我们可以使用SoapClient和SoapServer。

关于SoapClient类有很多用法,我们习惯的用法是将URL作为Soapclient构造函数的参数传递进去。

$client = new SoapClient($uriToWsdl,array('location'=>$uriToSoapServer));

$result = $client->someMethod($value1,$value2);


3.REST服务

表象化状态转变(REST)是Web Service中的新手。架构主要是:应用程序状态和功能被分割成能被赋以唯一标识符的资源,所有的资源共享统一的界面和标准的内容类型。可使用URL作为标识符,我们访问资源时,HTTP协议相当于统一界面。最后资源通过用XML,HTML等标准内容来表示。

例如:我们假定一个书籍的REST服务。

1)对http://example.com/books的GET请求使用XML来返回书籍列表。

2)POST请求将向服务添加一本新书,POST包含XML书籍数据并指向同样的URL。

3)XML检索一本书要向URL做HTTP GET请求。如http://example.com/books/php。

4)编辑书籍通过HTTP PUT请求向相同的URL发送XML数据。

5)删除资源向URL发送HTTP DELETE请求。

注:由于现在很多浏览器不支持PUT和DELETE方法,所以我们一般会通过POST请求添加额外参数来完成。