服务器端的编写
实现的Soap服务器端的功能是提供给客户端用来调用的函数,接受客户端传入的参数,并将
处理结果返回客户端。函数的功能为返回参数的和,文件名为soapServer.php具体代码如下所示:
<?php
/**
* @Soap实例二 服务端(Server)示例
* @author PHP技术博客,PHP博客,WWW.PHPCQ.COM
*/
function soap_add($num1,$num2){
if (trim($num1) != (int)$num2 || trim($num2) != (int)$num2) {
return new SoapFault('1','用户数据非法!');
} else {
return $num1 + $num2;
}
}
$soapServer = new SoapServer(null,array('url'=>'soap'));//创建SoapServer对象
$soapServer->addFunction('soap_add');//注册服务函数
$soapServer->handle();//处理并生成Soap
上面代码编写了一个soap_add函数用于实现两个参数的和,并且该页面支持客户端远程调用。
客户端的编写
<?php
/**
* @Soap实例二 客户端(Client)示例
* @author PHP技术博客,PHP博客,WWW.PHPCQ.COM
*/
try {
//创建客户端实例
$soapClient = new SoapClient(null,
array('location'=>'http://www.phpcq.com/soapServer.php',
'uri'=>'soap'));
$num1 = 1; $num2 = 2;
$sum = $soapClient->soap_add($num1,$num2);
echo $num1 + $num2 = $sum;
} catch (SoapFault $fault){
echo "错误[$fault->faultcode:$fault->faultstring]";
}
客户端代码使用try...catch()语句实现了Soap访问服务端过程中可能会出现的错误,并在错误发生时将错误
以合适的格式输出。