听说Zend XmlRpc的WSDL的编写非常容易,有空试试得,下面介绍一下soap的WSDL的编写!
玩SOAP,最麻烦的莫过于WSDL的编写,我一直认为那玩意儿不是人写的,今天我才发现,的确那玩意儿是不需要人写的
我们先定义一个类(文件 sum.php):
class Sum
{
/**
* 求和
*
* @param float $x
* @param float $y
* @return float
*/
public function add($x, $y)
{
return $x + $y;
}
}
创建WSDL:这项是最麻烦的过程,但是,利用Zend Studio,一行xml也不用写,就能轻松搞定
步骤:
Tools(工具) ==> WSDL Generator ==> Configration name : fdxq520; WSDL file name: SUM ==>NEXT(下一步) ==> 点击 + ==> 选择上面的创建的sum.php ==> 这时候会看到一个 classes : URL Location的映射,保留 Sum 类前面的勾,并将其url 设置为 SOAP Server的url:http://localhost/server.php ==>点击Finish(完成),ZDE就会创建一个非常完美的WSDL
拷贝那个SUM.wsdl文件(默认在我的文档中)到apache目录下(localhost),
创建 SOAP Server: server.php
<?php
require ‘./sum.php’;
$server = new SoapServer(‘./SUM.wsdl’);
$server->setClass(‘Sum’);
$server->handle();
?>
创建SOAP客户端(client.php)
<?php
$soap = new SoapClient(‘./SUM.wsdl’);
echo $soap->add(3.1, 4.2);
运行输出 7.3,OK!
我这里配置不对啊。把wsdl放在哪里呢?