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] SOAP et requêtes persistantes


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    8
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 8
    Points : 7
    Points
    7
    Par défaut [Web Service][SOAP] SOAP et requêtes persistantes
    Bonjour à tous.

    J'essaye de mettre en place un service SOAP avec une méthode d'authentification.

    Je souhaiterais que le client s'authentifie à l'aide d'une fonction, puis ensuite qu'il puisse utiliser les autres fonctions (s'il y est autorisé).

    Mon problème est que SOAP ne semble pas garder de données persistantes entre deux appels de fonctions.

    Coté serveur, j'ai ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?php
     
    $server = new SoapServer("monwsdl.wsdl");
    $server->setClass("MaClass");
    $server->setPersistence(SOAP_PERSISTENCE_REQUEST);
    $server->handle();
     
    ?>
    et du coté client, ça donne ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?php
    $client = new SoapClient("monwsdl.wsdl");
    try {
        if ( $client->auth('login','password') ) {
            $data = $client->getWhatIWant();
        }
    } catch(SoapFault $e) {
        $msg = (!$e->getMessage()) ? $e->faultstring : $e->getMessage();
        print "Sorry, an error was returned: $msg<HR>";
    }
     
    ?>
    Dans ma classe, j'ai une propriété $isAuth à false par defaut qui passe à true dans la fonction auth(). Problème, elle passe bien à true mais lors de l'appel de la deuxième fonction, elle est repassé à false.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
        /**
         * Authentification
         *
         * @param string $username
         * @param string $password
         * @return mixed SOAP Fault on error, true on success
         */
        function auth($username,$password) {
            if ( empty($username) || empty($password) ) throw new SoapFault("-4", "Please provide your username and password !");
            $result = mysql_query("SELECT * FROM api WHERE username = '".mysql_real_escape_string($username)."' AND password = '".md5($password)."' LIMIT 1",$this->db);
            if ($result && $api_user = mysql_fetch_assoc($result)) {
                $this->isAuth = true;
                $this->username = $username;
                $this->password = $password;
                return true;
            } else {
                throw new SoapFault("-5", "Authentification failed");
            }
        }
    J'ai également essayé avec SOAP_PERSISTENCE_SESSION mais rien n'y fait, à chaque appel de fonction, il reconstruit une instance de l'objet.

    Quelqu'un a-t-il déjà eu ce problème ?
    Ma google search ne me retourne pas grand chose si ce n'est des pages de manuel

    Merci pour vos lumières.
    BlackAngel

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    8
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 8
    Points : 7
    Points
    7
    Par défaut
    Merci au modérateur d'avoir déplacé ce message ici, mais je pense qu'il avait plus sa place dans la section "Général PHP", vu qu'il ne s'agit pas d'une librairie mais d'une fonction native de PHP 5 :-P
    Enfin, simple question de point de vue.
    Ceci dit, ça ne fait pas avancer mon problème
    BlackAngel

Discussions similaires

  1. retourner tableau de string avec web service SOAP
    Par xx_FiFty_xx dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 23/06/2008, 10h13
  2. Appels de Web services (SOAP) ?
    Par ovdbc dans le forum GWT et Vaadin
    Réponses: 1
    Dernier message: 17/10/2007, 11h28
  3. Déploiement web services SOAP sur Websphere 5.1
    Par g_rare dans le forum Websphere
    Réponses: 1
    Dernier message: 19/03/2007, 10h30
  4. web services, soap et compression.
    Par renaudjuif dans le forum Langage
    Réponses: 6
    Dernier message: 31/07/2006, 15h44
  5. [Web Service] [SOAP] Envoie requete
    Par _beber85 dans le forum JDBC
    Réponses: 1
    Dernier message: 08/06/2006, 09h31

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