2011-08-11 2 views
1

내 wsdl 서버가 다운되었을 때 SoapClient 예외가 발생하면 아무 도움이 될까요?비누 클라이언트가 예외를 throw하지 않음

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

난 내 코드의 결과는 원하는 : 거짓하지만 서버 다운, 내 페이지는 흰색이며,이 경우되지 않은

+0

예외를 실제로 잡으려는 이유는'@'입니까? – Brad

+0

@ 브래드 : 제거 @ 그냥 오류를 반환하지만, 그 SoapClient Successfull 또는 프로그래밍 프로그래밍에서 찾을 수 싶습니다? –

+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))로 읽어야한다. –

관련 문제