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 :

SOAP et Web Services


Sujet :

Langage PHP

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 4
    Points : 2
    Points
    2
    Par défaut SOAP et Web Services
    Bonjour,

    Je cherche à savoir s'il est possible de passer une variable au constructeur de la classe de mon Web Service (ce qui permettra d'avoir une variable définie sur toute la longeur du script).

    Plus spécifiquement, j'appelle mon Web Service dans un repertoire protégé par login et mot de passe :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $client = new SoapClient("https://soap.mondomaine.com/monWebService.wsdl", array('login' => "login_http", 'password' => "password_http"));
    Mon serveur de Web services fait apparaître la classe suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    Class monService{
     
      function monService($uneVariable){
     
        $this->hello = "bonjour";
        $this->bye = "au revoir";
        $this->uneVaribale = $uneVariable
      }
     
      ...
      //D'autres méthodes
      ...
    }
    Mon but est ici de pouvoir passer la valeur $uneVariable au constructeur de la classe utilisée pour le Web Service (et ainsi l'avoir définie pour tous les appels des autres méthodes). Est-ce possible ?

    Si c n'est pas le cas, est-il possible de définir une variable lors de l'appel d'une méthode du Web Service qui soit persistente lors de l'appel à d'autres méthode de ce même Web Service (au moins durant la durée du script) ?

    D'avance merci !
    Mosi

  2. #2
    Membre émérite Avatar de darkstar123456
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 896
    Points : 2 838
    Points
    2 838
    Par défaut
    hmmm normalement ça ne pose pas de problème... moi par exemple, je défini mes objets SQL et je peux effectivement les utiliser partout...

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Effectivement, ça fonctionne sans souci dans un usage pur de classes. Mais dès lors que la classe est instanciée via un appel de Web Service, je n'arrive pas à passer une variable.

    Le but est en effet de pouvoir passer une valeur lors de l'instanciation (en gros l'utilisateur qui appelle le web service via le SoapClient indique son identifiant et donc, tout le long du script, à chaque méthode qu'il appelle via le Web Service, je sais qui c'est ) Mais Franchement, je ne vois pas trop comment faire pour passer cette variable via l'appel à SoapClient.

    En fait, un appelle à une méthode d'authentification m'irait aussi (où là je transmets la valeur), mais même déclarée en var en début de classe, la valeur modifiée par une méthode appelée par le Web Service n'est pas conservée... Si quelqu'un a une idée...

  4. #4
    Membre émérite Avatar de darkstar123456
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 896
    Points : 2 838
    Points
    2 838
    Par défaut
    hmm personnellement, dans mon cas, je reçois et renvoie cette information à chaque fois, pour plus de sécuriter...

    mais normalement, si tu déclares la variable en instanciant la classe ça devrait marcher je pense. As-tu bien déclaré la variable avant le constructor ?

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Oui, je l'ai instanciée avant le constructeur. Cela dit, tu as peut-être raison et il est préférable de la transmettre à chaque appel de méthode... Je vais modifier mes script et WSDL en conséquence. Mais pour le principe, j'aurais bien aimé le faire fonctionner comme c'est actuellement

Discussions similaires

  1. Compresser un flux SOAP (XML) Web Service
    Par mls dans le forum Web & réseau
    Réponses: 1
    Dernier message: 03/05/2011, 17h57
  2. [SOAP] acces web service Authentification
    Par sebxid dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 25/11/2010, 09h03
  3. [Web Service][SOAP] Client Web Service en PHP5
    Par bm_belgacem dans le forum Bibliothèques et frameworks
    Réponses: 6
    Dernier message: 07/05/2008, 18h03
  4. [Web Service][SOAP] Problème Web Service
    Par goddet dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 10/10/2007, 10h12

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