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] Web service qui appelle un autre web service.


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre régulier
    Inscrit en
    Mars 2007
    Messages
    221
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 221
    Points : 88
    Points
    88
    Par défaut [Web Service] Web service qui appelle un autre web service.
    Bonjour

    J'ai fait un petit programme pour appeler un web service (fournit par un prestataire)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $client = new SoapClient ("http://ws.oceansystem.com/prestataireWebService.php?wsdl");
    $result = $client->getKMorH('XXX','XXX','AA-XXX-AA');
    print_r($result);
    Tous fonctionne bien, j'ai le résultat
    Array ( [0] => stdClass Object ( [IDENTIFIANT_VEHICULE] => 999[LIBELLE_VEHICULE] => AA-XXX-AA[KM_OU_HORAMETRE] => 40006 [UNITE] => K ) )
    Ce que je voudrais faire c'est créer un web service en php qui appelle le web service de mon prestataire.
    j'ai trouver un exemple pour créer un web service en php et que j'ai modifier pour ap:

    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
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    <?php
    //Adresse à utiliser dans Visual Studio http://127.0.0.1/ws/index.php?wsdl
     
    /**********************************
    *           INCLUDES              *
    **********************************/
    require_once('lib/nusoap.php');
     
    /**********************************
    *            NUSOAP               *
    **********************************/
    $namespace = "127.0.0.1/ws/";
    $server = new soap_server(); 						//creation du serveur SOAP
    $server->configureWSDL("SimpleService"); 			//Configuration du WSDL
    $server->wsdl->schemaTargetNamespace = $namespace;	//Configuration du namespace
     
    /**********************************
    *    NUSOAP FONCTION SIMPLE       *
    **********************************/
    //On définit la fonction simple
    function FonctionSimple($who) {
    	//return "Hello $who";
    	$client = new SoapClient ("http://ws.oceansystem.com/prestataireWebService.php?wsdl");
    	$result = $client->getKMorH('xxx','xxx','AA-XXX-AA');
    	return $result;
    }
     
    //On enregistre la méthode simple sur le serveur SOAP
    $server->register(
    	// method name:
    	'FonctionSimple', 		 
    	// parameter list:
    	array('name'=>'xsd:string'), 
    	// return value(s):
    	array('return'=>'xsd:string'),
    	// namespace:
    	$namespace,
    	// soapaction: (use default)
    	false,
    	// style: rpc or document
    	'document',
    	// use: encoded or literal
    	'literal',
    	// description: documentation for the method
    	'A simple Hello World web method');
     
     
     
    // Get our posted data if the service is being consumed
    // otherwise leave this data blank.                
    $POST_DATA = isset($GLOBALS['HTTP_RAW_POST_DATA']) 
                    ? $GLOBALS['HTTP_RAW_POST_DATA'] : '';
     
    // pass our posted data (or nothing) to the soap service                    
    $server->service($POST_DATA);                
    exit();
     
    ?>

    Lorsque j'appelle mon web service,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $client = new SoapClient ("http://localhost/WebServices/webservices.php?wsdl");
    $result = $client->FonctionSimple("xxx");
    voici le résultat que j'obtiens...
    Array
    Je ne comprends pas pourquoi je n'obtiens pas la même chose que lorsque j'appelle directement le web service du prestataire

    Si vous pouvez m'aider...là je ne sais plus quoi faire..;

    Merci

  2. #2
    Modérateur
    Avatar de BakSh0
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2014
    Messages
    276
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2014
    Messages : 276
    Points : 1 271
    Points
    1 271
    Par défaut
    $client = new SoapClient ("http://localhost/WebServices/webservices.php?wsdl");
    $result = $client->FonctionSimple("xxx");
    Bonsoir,

    Avec un print_r($result) ton tableau est vide ?
    BakSh0, Modérateur .Net & Web

    Affichez la colorisation syntaxique dans votre code en ajoutant dans votre balise : [CODE=xxx] en remplaçant xxx par le nom du langage.


    N'oubliez pas de consulter les FAQs : .Net / Web et les cours et tutoriels .Net / Web

  3. #3
    Membre régulier
    Inscrit en
    Mars 2007
    Messages
    221
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 221
    Points : 88
    Points
    88
    Par défaut
    Apparement oui, le print résult renvoi uniquement "Array".
    et pourtant je passe exactement les mêmes paramètres que lorsque j'appelle le web service directement.

Discussions similaires

  1. Réponses: 23
    Dernier message: 30/06/2007, 18h14
  2. servlet qui appelle une autre
    Par kam81 dans le forum Servlets/JSP
    Réponses: 7
    Dernier message: 06/11/2006, 16h14
  3. [Debutant] Formulaire qui appel un autre formulaire
    Par anassyto dans le forum Access
    Réponses: 6
    Dernier message: 31/07/2006, 12h10
  4. Procedures stockées qui appellent un autre ?
    Par Tchinkatchuk dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 09/05/2005, 09h30

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