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

Langage PHP Discussion :

PHP, Web Service et SSL


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 29
    Points : 14
    Points
    14
    Par défaut PHP, Web Service et SSL
    Bonjour,

    J'ai une appli PHP qui doit accéder à un web service java, le tout en https protégé par une authentification LDAP.
    Quand j'appelle la page me donnant accès au web service, la première fois, l'appel au web service se fait correctement et j'ai l'affichage du retour. Par contre, si j'essaie d'appeler la même page juste derrière, je n'ai plus rien, hormis un time out au bout d'un certain temps.

    Ma config est la suivante :
    Apage 2.2.6
    PHP 5.2.4
    OpenSSL 0.9.8e
    Tomcat 5.5.20

    Apache est configuré en mode JK pour transférer les appels sécurisés vers tomcat.

    L'appel au web service ne semble pas en cause puisque le 1er appel passe correctement. J'ai aussi essayé de faire l'appel depuis un client java, et là, je peux faire autant de requêtes identiques que je veux.
    Si l'appel au web service par le PHP se fait en http, je n'ai pas le problème.

    Ca semble vraiment lié à la combinaison appel du web service par le PHP en https. Dans ce cas, la 2ème requête ne répond plus et pousse le processus httpd.exe (sous windows) à utiliser tout le cpu disponible jusqu'au time out.
    Je n'ai aucun log côté Tomcat, ce qui m'incite à penser qu'il n'arrive pas jusque là.

    Fait étrange, si je relance la même requête 5 mn plus tard, ça passe à nouveau. J'ai donc regardé un peu ma config, et j'ai pas mal de sessions, keep alive et ce genre de choses configurées à 5mn (300s).
    Du coup, je pense que c'est lié.
    Un peu comme si PHP démarrait une session, et essayait de la réutiliser la 2ème fois avec des mauvais paramètres et donc sans pouvoir aller jusqu'au bout.

    Est ce que quelqu'un a déjà eu ce genre de problèmes ?

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 29
    Points : 14
    Points
    14
    Par défaut
    Après investigation, je rajoute quelques commentaires supplémentaires.

    J'ai modifié mon code PHP pour rajouter une trace lors de l'appel du web service.

    Lors du premier appel de la fonction, je retrouve dans le log mod_jk.log l'appel du service web. J'ai donc bien un transfert de apache vers tomcat et ensuite plusieurs requêtes SOAP pour récupérer le WSDL et lancer la méthode distante.

    Lors du second appel, j'ai bien les traces de mon PHP (il ne redirige pas vers tomcat), mais pour l'appel du web service, je n'ai plus rien. Il ne cherche donc même pas à atteindre le service distant.
    J'ai pensé que c'était une histoire de cache, et j'ai essayé de modifier mes paramêtres de config soap et ssl pour ne pas avoir de cache, mais sans résultat. Et quand bien même j'aurais trouvé quelque chose, ça ne m'aurait pas semblé logique d'avoir à désactiver ce cache.

Discussions similaires

  1. [Web Service] client php web service
    Par satrucci dans le forum Bibliothèques et frameworks
    Réponses: 0
    Dernier message: 18/04/2011, 16h50
  2. php + web service + xml + ajax
    Par guix69 dans le forum REST
    Réponses: 1
    Dernier message: 02/09/2008, 18h20
  3. Web Services et SSL
    Par dg.tall dans le forum Services Web
    Réponses: 6
    Dernier message: 21/07/2008, 18h15

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