Bonjour,
J'utilise la classe SOAPClient pour taper dans un serveur SOAP.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
ini_set('default_socket_timeout', 60);
try{
	$client = new SoapClient(
        'http://www.example.com/a.wsdl',
	array(  
		'trace'      			=> 1,
		'connection_timeout'	=> 10,
		 'exceptions'		=>true, 
	     )
	);
        /* TRAITEMENTS */
	return $client;
}catch(SoapFault $fault) { 
	return $fault; 
}
Avec ce code, si le serveur SOAP ne repond pas ( URL injoignable etc..), ca me retourne un WARNING type "failed to open stream: Une tentative de connexion a échoué" que je n'arrive pas à catcher dans le SOAPFault.

Comment gérer le "timeout" du serveur pour le faire catcher comme une Exception et non comme un warning ?

Je suis en PHP 5.2, mais je ne peux pas utiliser le set_error_handler('callBackError') pour catcher le error type WARNING.

Merci de votre aide