IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques et frameworks PHP Discussion :

[Web Service][SOAP] Comment définir un timeout pour une connexion SOAP ?


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre du Club
    Profil pro
    Développeur Web
    Inscrit en
    Août 2005
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2005
    Messages : 50
    Points : 45
    Points
    45
    Par défaut [Web Service][SOAP] Comment définir un timeout pour une connexion SOAP ?
    Bonjour,
    Voila j'ai une connexion soap avec un web service, et je veux devenir un timeout pour la dure de la tentative de connexion avec le serveur.
    Actuellement mon code est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    try {
    $clientSOAP = new SoapClient('http://localhost/services/soap/GateService?WSDL');
       echo"Connextion ok";
    } catch (SoapFault $exception) {
       echo"Connexion Failed";
    }
    Avec se code, si mon serveur Web service est offline, mon client soap va essayer de se connecter, jusqu'au déclanchement du timeout d'apache, donc j'ai un message de ce type :
    Fatal error: Maximum execution time of 60 seconds exceeded in C:\Program Files\xampp\htdocs\test\testurl.php on line 26
    J’aimerais définir moi même un timeout pour la connexion, exemple 10 s, si mon client ne peut pas se connecter, je retourne moi même un message d'erreur de type "Le serveur ne répond pas".

    Si quelqu'un a une idée merci de me la communiquer.

  2. #2
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 778
    Points
    17 778
    Par défaut
    Vous avez l'option connection_timeout (deuxième paramètre du constructeur sous la forme d'un tableau) :
    L'option connection_timeout définit le délai de connexion en secondes pour la connexion au service SOAP. Cette option ne définit pas un délai de connexion pour les services avec des réponses lentes. Pour limiter la durée d'attente de fin des appels, l'option default_socket_timeout est disponible.
    Et pour cette deuxième partie, via ini_set :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ini_set('default_socket_timeout', 10);
    (valeur par défaut : 60).

  3. #3
    Membre du Club
    Profil pro
    Développeur Web
    Inscrit en
    Août 2005
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2005
    Messages : 50
    Points : 45
    Points
    45
    Par défaut
    Merci beaucoup mon ami, ca marche.

Discussions similaires

  1. Comment intercepter le timeout d'une connexion ftp en bash
    Par Tilwan dans le forum Shell et commandes GNU
    Réponses: 3
    Dernier message: 12/04/2010, 11h30
  2. [DOM] Selected ! Comment définir un choix pour une liste déroulante
    Par tavarlindar dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 29/05/2008, 12h07
  3. Réponses: 2
    Dernier message: 15/01/2008, 21h08
  4. Réponses: 4
    Dernier message: 27/08/2007, 12h11
  5. Comment définir un timeout sur une socket PHP ?
    Par N3odyme dans le forum Langage
    Réponses: 7
    Dernier message: 07/05/2006, 23h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo