利用PHP创建由Oracle驱动的SOAP服务
2009-01-06 13:10:21 来源:WEB开发网◆函数不能输出任何内容(即打印/回显)。
◆函数必须返回一个或多个值(多个值以一组关联的键/值对的形式返回)。
由于从体系结构或审美的角度看,在过程函数中表示所有公开的服务调用并不总是明智的选择,因此 PHP 还提供了一种使用对象表示 SOAP 服务的方法。通过使用 addClass() 方法,您可以指定一个类来表示整个 SOAP 服务的函数,其中的所有公共方法将自动公开为服务调用:
class math {
public function add($a, $b) {
return $a + $b;
}
public function sub($a, $b) {
return $a - $b;
}
}
$server->addClass("math");
您稍后将看到,该方法是最简洁、最模块化的一个方法。
要完成 SOAP 服务器,您必须指导它处理从连接的 SOAP 客户端传入的任何请求。这是通过 handle() 方法完成的,该方法不需要参数。
总之,用PHP 创建SOAP 服务器就像以下示例一样简单:
< ?php
class math {
public function add($a, $b) {
return $a + $b;
}
public function sub($a, $b) {
return $a - $b;
}
}
$server = new SoapServer(‘math.wsdl’);
$server->addClass(‘math’);
$server->handle();
?>
如果出现错误
用 PHP 创建 SOAP 服务时必须解决的一个问题是:在出现错误的情况下,如何将错误报告给客户端。根据 SOAP 协议中的规范,在请求期间出现的错误应该通过将特殊 SOAP Fault 响应返回给请求客户端的方式来处理。在 PHP 中,这是通过发出 SoapFault 类的实例、向该类提供错误代码和描述错误本质的可选错误消息来完成的,如下所示:
更多精彩
赞助商链接