在开发过程中,客户端通过soap方式获取服务器端数据资源,现在遇到一个一些问题:
1、当soapServer中数据库连接失败,客户端整体会导致超时,或500错误。
2、如何给soapServer增加密码,限制使用。soapServer code
soap.php
-----------------------------------<?
class TestServer
{ public function test($v)
{
mysql_connect('localhost', 'root','123');
mysql_select_db('test');
return $v;
}
}$server=new SoapServer(null,array('uri' => "test"));
$server->setClass("TestServer");
$server->handle();
?>
soapClient code
test.php
-----------------------------------try{
$soap = new SoapClient(null,array(
"location" => "http://localhost/soap.php",
"uri"      => "test",  //资源描述符服务器和客户端必须对应
"encoding" => "gbk",
"style"    => SOAP_RPC,
"use"      => SOAP_ENCODED
)); echo $soap->test('调试')."<br><br>";
}
catch(Exction $e){
echo '系统维护中,请稍后再来';
}
运行过程中,如果停止数据库服务或出现错误,test.php将超时或报500错误,导致整个页面失败,如何解决此类问题?
另外,如何给soap.php增加身份验证,限制使用?谢谢!phpsoap

解决方案 »

  1.   

    忘记说了,两个问价加set_time_limit(5);都没用
      

  2.   

    mysql_connect 失败会报错
    如果你没有做错误处理,且没有打开错误显示功能,则会出现 500 错
      

  3.   

    数据库连接部分加die无效,实在郁闷了,帮我补全能通过的代码吧,谢谢
      

  4.   

    $conn = @mysql_connect('localhost', 'root','123') or die('数据库连接错误');
    也可以
    ob_start();
    $conn = mysql_connect('localhost', 'root','123');
    $s = ob_get_clean();
    if($s) echo '数据库连接错误 ' . strip_tags($s);
      

  5.   

    上面代码不行,soapClient调用过程报PHP Fatal error