PHP调用Webservice的通用实现
时间:2010-09-09 来源:netlawe
一般的语言都有自己的Webservice框架及调用方式,而PHP也不例外,在PHP5之前,php自身并没有关于Webservice接口的函数,不过有人为我们开发了一套程序NuSOAP,它是php环境下的WEB服务器编程工具,用于创建或调用Web服务,利用它我们就可以很轻松的实现对其他各种语言Webservice接口函数的调用了.而且它完全是用php语言编写,不需要扩展库的支持,这种特性使得NuSOAP可用于所有的PHP环境.
NuSOAP下载及安装
NuSOAP是一个免费开源项目,我们可以在SourceForge上面下载到,其下载地址是:
http://sourceforge.net/projects/nusoap/
它的安装十分简单,把下载的包拷贝到服务器上的指定目录下,然后直接解压缩即可,一般包含两个目录:lib和samples,lib目录下存放了NuSOAP的所有代码,我们一般引用其中的文件即可,samples目录下则是一些样例程序,我们可参考其中的代码来实现我们自己的Webservice程序.
NuSOAP的使用比较简单,其中最常用到的类是soap_server和soapclient,其中soap_server用于创建Webservice服务,类soapclient则用于调用Webservice.这两个类的定义都在lib/nusoap.php中,因此我们在创建或调用Webservice接口程序时均需要引用该文件.
调用Webservice服务应用样例
下面的代码是创建一个简单的Webservice服务.
server.php
上面的代码就创建了一个Webservice服务程序,接下来我们来创建调用Webservice接口的程序:
<?php require_once "soap/lib/nusoap.php"; $web_url = "http://127.0.0.1"; $client = new soapclient($web_url."/server.php"); $param = array(); $ret = $client->call('webserver', $param, $web_url, $web_url); echo $ret; ?>上面的php调用Webservice程序是通用的,适合于PHP调用其它ASP.NET及Java等各类语言的Webservice接口,只是在具体代码方面有少许变化,如有问题,欢迎大家共同探讨。
文章来源:红心草博客
原文地址:http://www.hongxincao.com/archives/187.html