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] WebServices / PHP : Utilisation de deux wsdl


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 6
    Points : 4
    Points
    4
    Par défaut [Web Service] WebServices / PHP : Utilisation de deux wsdl
    Bonjour,

    Je découvre depuis peu les webservices au niveau technique. Je commence à bien assimiler le principe mais sur ce point je sèche:

    Pour résumer, côté client je fais appel à mon script côté serveur qui déclare le fichier wsdl à utiliser. Celui-ci contient donc toutes les fonctions qui seront utilisées pour communiquer entre les deux serveurs. problème je souhaite avoir deux types de client... Un qui sera un client lambda et qui pourra uniquement faire de la consultation de données et un autre qui pourra modifier certaines données.

    Pour cela, je veux utiliser deux fichiers wsdl dont un pour chaque type de client.

    Déjà est-ce la meilleure solution ? Si oui, comment je fais pour choisir le fichier wsdl en fonction du type de mon client. Peux t-on redéfinir le fichier wsdl utilisé après un premier échange entre les deux serveurs ?

  2. #2
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 6
    Points : 4
    Points
    4
    Par défaut
    Pour illustrer mon pbl voici le code (simplifié) utilisé

    Côté client :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    $client = new SoapClient(null, array(
    'uri' => 'http://serveur/serveur.php',
    'location' => 'http://serveur/serveur.php'
    ));
     
    // Accessible à tous 
    $versioning = $client->getInfos()
    print_r($versioning);
    ...
    //Accessible uniquement aux clients "admin"
    $client->changeDatas(toto)
    Côté serveur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    class API_toto{
       public function changeDatas(toto){ ... }
       public function getInfos(){ ... }
    }
     
    $server = new SoapServer('file.wsdl'); 
    $server->service($HTTP_RAW_POST_DATA);
    $server->setClass("API_toto"); 
    $server->handle();
    Le but est de changer le fichier wsdl en fonction du type de client.
    file.wsdl contient la définition de getInfos()
    file_admin.wsdl contient la définition de getInfos() et de changeDatas()

  3. #3
    Membre émérite
    Avatar de laedit
    Homme Profil pro
    Consultant études et développement
    Inscrit en
    Décembre 2006
    Messages
    1 344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant études et développement
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 344
    Points : 2 265
    Points
    2 265
    Par défaut
    Étant donné que c'est du PHP, je te conseille de reposter dans le forum PHP du site, afin d'avoir des réponses pertinentes
    Blog - Articles - Framework

    MSDN vous aide, si si, alors n'hésitez pas à y faire un tour avant de poser une question.
    Ah, et n'oubliez pas, Google peut répondre à la majorité de vos questions.

  4. #4
    Membre éclairé

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    772
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2004
    Messages : 772
    Points : 872
    Points
    872
    Par défaut
    Si tu utilises 2 WSDL, tu présentes 2 services différents et donc ce sont les clients qui doivent appeler le bon service. Or cela ne te dispensera pas de contrôler les droits de chacuns d'eux donc ce n'est pas la bonne solution.

    Tu dois te débrouiller pour utiliser une WSDL et identifier l'utilisateur qui appelle. Déclare les champs supplémentaires en optionnel pour ceux que tu renvoies spécifiquement aux utilisateurs "admin"...
    • Mon blog PHP : http://blog.alterphp.com
    • "Peace cannot be kept by force, it can only be achieved by Understanding" -- Albert Einstein

Discussions similaires

  1. Client .Net consommant web service en php
    Par Tsubasa dans le forum Général Dotnet
    Réponses: 1
    Dernier message: 05/05/2007, 09h58
  2. web service et php
    Par mnr_nfo dans le forum Langage
    Réponses: 5
    Dernier message: 05/04/2007, 08h59
  3. Web Services et PHP
    Par osopardo dans le forum Langage
    Réponses: 1
    Dernier message: 03/07/2006, 12h15
  4. [Web Service][SOAP] PHP et nuSOAP
    Par loukili81 dans le forum Bibliothèques et frameworks
    Réponses: 7
    Dernier message: 07/06/2006, 15h37
  5. [Web Service][SOAP] PHP NuSOAP
    Par ssebuser dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 16/05/2006, 14h29

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