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] Utilisation de SOAP


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre Expert Avatar de riete
    Homme Profil pro
    DevWeb - Oléiculteur
    Inscrit en
    Avril 2006
    Messages
    1 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : DevWeb - Oléiculteur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 193
    Par défaut [Web Service] Utilisation de SOAP
    J'essaye de m'initier à SOAP, mais les choses commencent mal

    Mon serveur est PHP 5.1.6, php_info() me retourne:
    Soap Client - enabled
    Soap Server - enabled
    Malheureusement le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $client = new SoapClient("mon.wsdl");
    retourne l'erreur suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Fatal error: Cannot instantiate non-existent class:  soapclient
    Je n'ai pas d'explication. Il me semble que si la directive --enable-soap a été activé au moment de la compilation de la librairie PHP, je n'ai pas a déclarer de Class SOAP ?
    Une idée ?

  2. #2
    Membre Expert Avatar de riete
    Homme Profil pro
    DevWeb - Oléiculteur
    Inscrit en
    Avril 2006
    Messages
    1 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : DevWeb - Oléiculteur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 193
    Par défaut
    Je fais un "UP" de cette discussion, compte tenu du fait que j'ai un peu avancé, mais pas des masses. Voici un nouveau code d'erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    PHP Fatal error:  SOAP-ERROR: Parsing WSDL: Couldn't load from '/Modele/php/SOAP/s0/stockquote.wsdl' in /Modele/php/SOAP/s0/client3.php on line 2
    Voici le code client3.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?php 
    	$client = new SoapClient("stockquote.wsdl"); 
    	print($client->getQuote("ibm")); 
    ?>
    J'ai récupéré tout ces instructions sur ce tuto Zend


    Merci d'avance

  3. #3
    Membre du Club
    Inscrit en
    Août 2009
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 7
    Par défaut
    Salut,

    J'aimerais savoir tu fait appel à un Web Service en locale?

    Sinon j'ai eu la même erreur avec une impossibilité de charger le fichier wsdl depuis mon client, que se soit en donnant une URL en local ou en mettant directement le fichier .wsdl dans mon dossier client.

    Pour résoudre ce problème je suis passer par le "mode non-wsdl" de SoapClient.

    Voici un exemple de code que tu peux essayer .

    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
    $client = new SoapClient
          (
          null, 
          array
                (
                'uri' => "tonURI",
                'location' => 'http://localhost/tonWebService',
                'trace'      => 1,
    	    'exceptions' => 0,
                )
          ); 
     
     
    $result = $client->__call('taméthode' , array(
    			new SoapParam($tavaleurdetonparam1, "tonparam1"),
    			new SoapParam($tavaleurdetonparam2, "tonparam2"),
                            new SoapParam($tavaleurdetonparam3, "tonparam3")
    			);
    Voila en espérant que ça t'aide.

  4. #4
    Membre Expert Avatar de riete
    Homme Profil pro
    DevWeb - Oléiculteur
    Inscrit en
    Avril 2006
    Messages
    1 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : DevWeb - Oléiculteur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 193
    Par défaut
    merci Arrindos, j'en suis au même point que toi.
    Je suis parvenu à faire fonctionné le micro serveur SOAP et le client en mode non-wsdl.
    Mais j'aimerais changer bien comprendre pourquoi je n'arrive pas à lire le fichier wsdl ?

  5. #5
    Membre Expert Avatar de riete
    Homme Profil pro
    DevWeb - Oléiculteur
    Inscrit en
    Avril 2006
    Messages
    1 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : DevWeb - Oléiculteur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 193
    Par défaut
    La solution se trouvais dans l'encodage du fichier wsdl. Attention d'utiliser le bon encodage au moment de l'enregistrement du fichier, il faut que celui-ci corresponde à l'encodage spécifié en début de fichier.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Quel Web Service utiliser pour une tablette?
    Par l_informaticien dans le forum Services Web
    Réponses: 1
    Dernier message: 15/11/2014, 11h01
  2. Réponses: 1
    Dernier message: 27/05/2011, 21h22
  3. probleme avec depoiement web service utilisant l'archive .aar
    Par louis832 dans le forum Services Web
    Réponses: 0
    Dernier message: 16/02/2010, 16h29
  4. différence entre Web service / SOA / EAI / SOAP
    Par storm_2000 dans le forum Services Web
    Réponses: 0
    Dernier message: 26/08/2009, 18h27
  5. Réponses: 5
    Dernier message: 15/04/2008, 15h52

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