2011-08-11 76 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)); –