在开发过程中,客户端通过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、当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
如果你没有做错误处理,且没有打开错误显示功能,则会出现 500 错
也可以
ob_start();
$conn = mysql_connect('localhost', 'root','123');
$s = ob_get_clean();
if($s) echo '数据库连接错误 ' . strip_tags($s);