PHP SOAP!
时间:2008-05-17 来源:剑心通明
庆祝我从此又可以使用PHP5玩了
玩过了
[url=javascript:;]Zend[/url]
XmlRpc,再玩PHP5的SOAP基本上没有太多的问题,一下的示例基本上是一次成功的!
玩SOAP,最麻烦的莫过于WSDL的编写(这才是我一向偏向于使用XMLRPC的原因),我一直认为那玩意儿不是人写的,昨天我才发现,的确那玩意儿是不需要人写的,除去了WSDL,说实话SOAP和XMLRPC几乎一样简单,甚至说更简单些(他的异常处理更完善,出错信息对调试更方便,友好)
我们先定义一个类(文件 Culculator.php):
class Culculator
{
/**
* 求和
*
* @param float $x
* @param float $y
* @return float
*/
public function add($x, $y)
{
return $x + $y;
}
}
创建WSDL:这项是最麻烦的过程,但是,利用Zend Studio,一行
[url=javascript:;]xml[/url]
也不用写,就能轻松搞定
流程:
Tools ==> WSDL Generator ==> Configration name : wps2000; WSDL file name: wps ==>NEXT ==> 点击 + ==> 选择上面的创建的Culculator.php ==> 这时候会看到一个 classes : URL Location的映射,保留 Culculator 类前面的勾,并将其url 设置为 SOAP Server的url:
http://localhost/server.php
==>点击Finish,ZDE就会创建一个非常漂亮的WSDL了
[url=javascript:;]工作[/url]
基本上完成了,庆祝下
拷贝那个wps.wsdl文件(默认在我的文档中)到Document Root文件夹下,创建 SOAP Server: server.php
require './Culculator.php';
$server = new SoapServer('./wps.wsdl');
$server->setClass('Culculator');
$server->handle();
?>
创建SOAP客户端(client.php)
= new SoapClient('./wps.wsdl');
echo $soap->add(1.2, 2.4);
运行输出 3.6,一切正常!
SOAP比XmlRpc好的就是,在使用ZDE编写的时候,居然可以出现
[url=javascript:;]代码[/url]
补全(显示SoapServer上的
[url=javascript:;]方法[/url]
),看来那个麻烦的WSDL也不是一无是处哦
来源:http://hi.baidu.com/zhangsilly/blog/item/1d24b1fe78fcfd335d6008c9.html:
相关阅读 更多 +