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] Appel d'un WebService dans PHP


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Futur Membre du Club
    Inscrit en
    Octobre 2006
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 7
    Points : 7
    Points
    7
    Par défaut [Web Service][SOAP] Appel d'un WebService dans PHP
    Bonjour ,

    je cherche comment appeler un WS (qui tourne sur AXIS2) à partir de PHP j'ai deja trouvé la librairie SOAP ... Mais aucun exemple suffisant parlant pour que j'arrive à le mettre en oeuvre ...

    Merci de votre aide

    GG

    ps : mon code actuel est le suivant

    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
    <?php
    *****/
    require_once("nusoap/lib/nusoap.php");
    $wsdl_url =   'http://server:8080/axis2/services/imcSession?wsdl' ;
    $WSDL     = new SOAP_WSDL($wsdl_url); 
    $client   = $WSDL->getProxy(); 
    //echo $client;
    $params   = array(
        'user' => 'toto',
        'pass' => 'tata',
    );
    $ret_session    = $client->openSession($params);
     
    ?>
     <HTML>  <HEAD><?php echo $ret_session;  ?> </HTML>  </HEAD>

  2. #2
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 223
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 223
    Points : 15 516
    Points
    15 516
    Par défaut
    Dans l'archive que tu télécharges pour avoir nuSoap, il y a plein d'exemples de clients SOAP

  3. #3
    Futur Membre du Club
    Inscrit en
    Octobre 2006
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 7
    Points : 7
    Points
    7
    Par défaut
    Merci de ta reponse ...
    j'avais bien repérer les exemples avec nusoap ... mais dans le genre pas commenté ... on ne fais pas mieux

    je me suis basé sur ces exemples pour mon code ... Mais sans succés ...

    je ne demande pas une réponse mais une explication sur comment faire ...


    GG

    ps: mon nouveau code (qui ne fonctionne toujours pas ... )
    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
     
    require_once('nusoap/lib/nusoap.php');
    $proxyhost = isset($_POST['proxyhost']) ? $_POST['proxyhost'] : '';
    $proxyport = isset($_POST['proxyport']) ? $_POST['proxyport'] : '';
    $proxyusername = isset($_POST['proxyusername']) ? $_POST['proxyusername'] : '';
    $proxypassword = isset($_POST['proxypassword']) ? $_POST['proxypassword'] : '';
    $client = new nusoap_client('http://server:8080/axis2/services/imcSession?wsdl', 'wsdl',
    						$proxyhost, $proxyport, $proxyusername, $proxypassword);
    $err = $client->getError();
    if ($err) {
    	echo '<h2>Constructor error</h2><pre>' . $err . '</pre>';
    }
    // Doc/lit parameters get wrapped
    $param = array('user' => 'toto','pass' =>'tata');
    $result = $client->call('openSession', array('parameters' => $param), '', '', false, true);
    // Check for a fault
    if ($client->fault) {
    	echo '<h2>Fault</h2><pre>';
    	print_r($result);
    	echo '</pre>';
    } else {
    	// Check for errors
    	$err = $client->getError();
    	if ($err) {
    		// Display the error
    		echo '<h2>Error</h2><pre>' . $err . '</pre>';
    	} else {
    		// Display the result
    		echo '<h2>Result</h2><pre>';
    		print_r($result);
    		echo '</pre>';
    	}
    }
    echo '<h2>Request</h2><pre>' . htmlspecialchars($client->request, ENT_QUOTES) . '</pre>';
    echo '<h2>Response</h2><pre>' . htmlspecialchars($client->response, ENT_QUOTES) . '</pre>';
    echo '<h2>Debug</h2><pre>' . htmlspecialchars($client->debug_str, ENT_QUOTES) . '</pre>';
    ?>

  4. #4
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 223
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 223
    Points : 15 516
    Points
    15 516
    Par défaut
    Citation Envoyé par ggjedi Voir le message
    mon nouveau code
    ça ressemble déjà plus au code que j'ai déjà vu fonctionner
    Citation Envoyé par ggjedi Voir le message
    (qui ne fonctionne toujours pas ... )
    qu'est ce que tu obtient à l'affichage ? ne nous montre pas tout de suite ce qu'il y a dans la dernière section "debug", la plupart du temps ce qu'il y avant suffit

    autre question : est ce que le WebService fonctionne avec un autre client ?

  5. #5
    Futur Membre du Club
    Inscrit en
    Octobre 2006
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 7
    Points : 7
    Points
    7
    Par défaut
    Sa fonctione maintenant je suis victime du p**ain de cache de IE !!!!


    Merci pour ton aide

  6. #6
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 223
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 223
    Points : 15 516
    Points
    15 516
    Par défaut
    Citation Envoyé par ggjedi Voir le message
    lorsque j'appel le Web service depuis un navigateur cela fonctionne correctement ...
    je parlais d'un autre client SOAP

    c'est peut-être le serveur qui pose problème et si tu obtiens une erreur 500 ça confirme surement ça

  7. #7
    Membre à l'essai
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2004
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 11
    Points : 15
    Points
    15
    Par défaut debugage
    Debug tes services avec le logiciel soapui , ca deviendra plus facile

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

Discussions similaires

  1. affichage des données provenant d'un web service soap dans une listview
    Par nagca dans le forum API standards et tierces
    Réponses: 1
    Dernier message: 04/07/2011, 18h11
  2. appel web service soap rpc-encoded multi-ref
    Par arnaud.b dans le forum Pentaho
    Réponses: 0
    Dernier message: 18/01/2010, 16h33
  3. Appeler un web service SOAP en php avec un client JavaScript
    Par lord.66 dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 05/06/2009, 15h04
  4. Appeler un web service SOAP en php avec un client JavaScript
    Par lord.66 dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 31/05/2009, 13h42
  5. Appels de Web services (SOAP) ?
    Par ovdbc dans le forum GWT et Vaadin
    Réponses: 1
    Dernier message: 17/10/2007, 12h28

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