许多机构已经采用了apach和php作为他们的web应用环境。在web services模式中采用php可能看上去可能会比较难。但是事实上,搭配nusoap,你可以轻松的应用php构建soap的客户端和服务器端。
一个例子便能说明一切,让我们先看一个例子
为了说明如何应用nusoap和php来构建web services,我们将举一个简单的例子。这个例子应用程序由一个php web services的服务器端和客户端组成。他将实现两个功能:颠倒一个字符串字符的顺序,求两个数的和。
php soap服务器
用php和nusoap来建立soap服务器非常容易。基本上,你只要写出你想要暴露给你的web services的函数,然后用nusoap去注册它们就可以了。
ok,另外还需要两步才能完成php soap服务器的建立。首先你还要在你的php代码中创建nusoap对象的一个实例,然后用http post方法将原始数据传给nusoap进行处理。听起来简单吧。先看看清单1。
清单1:soapfunc.php
<?
require_once('nusoap.php');
function reverse($str){
$retval = "";
if(strlen($str) < 1) {
return new soap_fault('client','','invalid string');
}
for ($i = 1; $i <= strlen($str); $i++) {
$retval .= $str[(strlen($str) - $i)];
}
return $retval;
}
function add2numbers($num1, $num2) {
if (trim($num1) != intval($num1)) {
return new soap_fault('client', '', 'the first number is invalid');
}
if (trim($num2) != intval($num2)) {
return new soap_fault('client', '', 'the second number is invalid');
}
return ($num1 + $num2);
}
?>
清单1给出了soapfunc.php的源文件。这个文件包含了我们想通过soap协议暴露给web services的两个函数:reverse和add2numbers,它们是我们这个web services 应用的核心。函数reverse带一个参数,颠倒字符串中的字符的顺序,然后返回。
清单2:soapserver.php
<?
require_once('nusoap.php');
in
| 对此文章发表了评论 |
