2011-08-11 55 views
1

我想要当我的WSDL服务器关闭,SoapClient抛出异常,任何机构可以帮助我吗?肥皂客户端不会抛出异常

function a() 
{ 
    try 
    { 
     $wsdl = @new SoapClient('http://somedomain.com'); 
     return true; 
    } catch(Exception $sf) 
    { 
     return false; 
    } 
} 
var_dump(a()); 

我想我的代码的结果是:假的,但是当服务器下来,我的页面只有白色,还没有任何输出

+0

为什么'@'如果你想实际捕捉异常? – Brad

+0

@Brad:如果删除@只是返回错误,但我想在编程中发现SoapClient Successfull Or Not? –

+0

我不认为你会在构造函数上得到一个异常。对于SoapClient来说,它不是只设置对象来使用URL?纠正我,如果我记得不正确,但我不相信SoapClient实际上打电话,直到您稍后调用一个函数。 – Brad

回答

0

您是否尝试捉住的SOAPFault例外,而不是只是一个普通的异常?



    function a() 
    { 
     try 
     { 
      $wsdl = @new SoapClient('http://somedomain.com'); 
      return true; 
     } catch(SoapFault $sf) 
     { 
      return false; 
     } 
    } 
    var_dump(a()); 

+0

我已测试过它,但已经存在此问题 –

+0

好吧,请尝试添加“array(”exceptions“=> 1)”作为构造函数调用的第二个参数。没有外部“ –

+0

全行应为 $ wsdl = @new SoapClient('http://somedomain.com',array(”exceptions“=> 1)); –