Publié par le 4 mai 2011, 0 commentaire

Cela a dû vous arriver : mettre en place un WebService en PHP (client), et vous n’arrivez à gérer les erreurs lorsque le serveur distant ne répond pas.

La première solution consiste à modifier le niveau d’alerte, et à brider les « hurlements » des méthodes Soap en PHP.

La seconde solution consiste à gérer les connexion en amont afin de ne pas lancer le protocole Soap.

 

je m’explique : avant de lancer le code permettant la construction d’une connexion Soap avec votre serveur distant, vous aller tester si une connexion socket peut être ouverte sur votre serveur distant. Si cela est impossible, alors vous gérer l’erreur de manière fatale sans accéder à vos fonction Soap. Ainsi, pas d’erreur non géré.

Voici le code à mettre en place :

 

// on va tester le socket
$return = @stream_socket_client('tcp://monServeurDistant:80', $errno, $errstr, 5);

// si le socket du WS n'est pas connectable
if( $return === false ){
// On vé gérer l'erreur
}
else{
// on exécute le code Soap
}

Avec ceci, vous pourrez gérer les problèmes de connexion avant que la méthode Soap ne génère d’erreur !!

Publié par le , 0 commentaire
Catégorie : April,général,Internet

Je soutiens l’April pour son action contre les DRM :

Bannière journée internationale contre les DRM

Si vous souhaitez soutenir l’April, aller là :

http://www.april.org/journee-internationale-contre-les-drm-edition-2011