Bonjour à tous.
Dans le cadre de mon projet actuel, je dois faire dialoguer une application php (en l'occurrence moodle pour ceux qui connaissent), avec un Web service en Java.
J'utilise donc soap. Jusque la, pas de problème, le web service marche très bien, la syntaxe que permet soap est particulièrement plaisante (pouvoir faire $client->function($parameters) c'est class )

Le problème est que mon code doit être complètement blindé (car destiné à un service public). Or, si je fait exprès de faire un appel au web service alors que celui-ci est éteint, il se passe......rien.
plus clairement, j'aimerai pouvoir afficher une erreur lorsque le service n'est pas disponible, et non pas une page complètement blanche...
l'appel à soap est pourtant inclus dans un try-catch, et je vérifie que le client n'est pas NULL :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
try{
	$client = new SoapClient($wsdl);
	if($client == NULL){
		echo 'probleme';die;
	}
}
catch(Exception $e){
	echo 'exception :<br>';
	print_r($e);die;
}
mais quand je lance le script, il charge longtemps (normal puisque le service est éteint), mais aucune exception n'apparait.
d'ailleurs, même cette syntaxe n'affiche rien du tout :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
$client = new SoapClient($wsdl);
echo 'blablabla';
die;
J'anticipe les petits malins qui diront "laisse ton web service allumé, et ça marchera" : je le rappelle, ce code est destiné à un service public et je ne peux me permettre aucun petit problème. Ce genre de cas peut arriver, et je n'ai pas envie qu'une secrétaire quelconque me traite d'incompétent et me harcèle au téléphone parce qu'elle a oublié d'allumer le pc de la salle 57...

toute aide ou idée serait donc la bienvenue...

Merci d'avance à ceux qui prendront le temps de réfléchir à mon problème.
Amicalement
Simon