- 论坛徽章:
- 0
|
在php下进行webservise开发我们可以使用一个开源的类nusoap。nusoap包含了很多的php的类,它让用户可以很方便的通过http发送和接受soap消息。它是完全用php语言编写的。它由一个基类提供一些基本方法,例如命名空间,将变量映射到不同的命名空间,以及序列化等。web servise的交互是通过一个高层类soapclient来进行的。这个类可让用户确定http的许可访问权限,http代理信息,并且可以控制发送和接受的soap消息。它使用其它几个辅助类来帮助完成soap消息的发送和接受。
soap操作是同过根据传输过来的方法名调用call方法。
使用nusoap要求php安装了curl扩展。
nusoap可从http://dietrich.ganx4.com/nusoap下载。
给个简单例子。
下面是客户端代码:
<?
require_once('lib/nusoap.php');
$string = "你好";
$param = array($string);
$s = new soapclient("http://127.0.0.1/test_soap/test_server.php");
$result = $s->call("echoString",$param);
if(!$err = $s->getError())
{
echo "Result:$result<br>";
}
else
echo "Error:$err<br>";
//echo '<xmp>'.$s->request.'</xmp>';
//echo '<xmp>'.$s->response.'</xmp>';
?>
下面是服务端:
<?
require_once('lib/nusoap.php');
$srv = new soap_server();
$srv->register('echoString');
function echoString($str)
{
if(is_string($str))
return $str;
else
return new soap_fault('Client','','The parameter to this service must be a string.');
}
$srv->service($HTTP_RAW_POST_DATA);
?> |
|