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] Client de Web Service en PHP


Sujet :

Bibliothèques et frameworks PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Inscrit en
    Juillet 2007
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 6
    Par défaut [Web Service][SOAP] Client de Web Service en PHP
    Bonjour,
    Je possède un service web écrit en Java, il fonctionne parfaitement avec un client écrit en Java.
    J'ai écrit un client en PHP mais là j'ai un souci : toutes les variables que j'envoie au service web deviennent "null". Il n'y a pas d'erreurs, sauf quand j'envoie des entiers (là c'est le serveur Java qui coince).

    Voici le code du client PHP :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <?php
    	ini_set("soap.wsdl_cache_enabled", "0");
     
    	$clientSOAP = new SoapClient("http://130.98.172.114:8080/DeployWebService/services/ReceptionWS?wsdl", array('trace' => 1));
     
    	$var = 'test test';
     
    	$clientSOAP->__soapCall('connexion', array($var));
    	echo 'RESPONSE: ' . $clientSOAP->__getLastResponse();
    ?>
    J'utilise Wamp 5 (donc PHP5) pour le client PHP et Eclipse WTP pour le service Web pour le moment. SOAP est activé dans PHP.

  2. #2
    Membre Expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Par défaut
    C'est normal le ? dans l'url vers ton wsdl?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    	$clientSOAP = new SoapClient("http://130.98.172.114:8080/DeployWebService/services/ReceptionWS?wsdl", array('trace' => 1));

  3. #3
    Nouveau membre du Club
    Inscrit en
    Juillet 2007
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 6
    Par défaut
    C'est une méthode pour accéder au wsdl à distance sur une autre machine. Mais j'ai testé aussi avec une adresse fixe :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $clientSOAP = new SoapClient("./reception.wsdl", array('trace' => 1));
    ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $clientSOAP = new SoapClient("http://localhost/test2/reception.wsdl", array('trace' => 1));
    Le résultat est le même

  4. #4
    Membre Expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    	$clientSOAP->__soapCall('connexion', array($var));
    	echo 'RESPONSE: ' . $clientSOAP->__getLastResponse();
    ajoutes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo 'REQUEST: ' . $clientSOAP->__getLastRequest();
    et vérifies que la requete est bien formée aussi

  5. #5
    Nouveau membre du Club
    Inscrit en
    Juillet 2007
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 6
    Par défaut
    Ah en effet le problème vient de là : il ne met met rien après le "REQUEST:".

  6. #6
    Membre Expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Par défaut
    Les webservices sont quelque chose de très puissant quand on l'a compris mais c'est assez obscur au début (et ca l'est toujours pour moi alors que j'en ai codé deux qui fonctionnent ).
    La solution que j'ai adopté est de mettre des echo a peu pres partout... en gros quand je rentre dans des if/else, quand j'envoie une requete SOAP ou quand j'en recois une, etc. Coté serveur il faut donc que tu affiches ce que tu reçois, comme requete, idem coté client, jusqu'à ce que tu trouves ce qui bugge. Je pense aussi qu'il serait plus simple pour toi (le temps des tests) de tout faire en PHP, aussi bien le client que le serveur, ca te permettra de comprendre ce qui se passe coté serveur aussi.

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

Discussions similaires

  1. Web Service Soap Client
    Par benny-blanco dans le forum Windows Phone
    Réponses: 1
    Dernier message: 08/04/2012, 00h25
  2. Réponses: 1
    Dernier message: 27/05/2011, 21h22
  3. [Web Service][SOAP] client php et web service windev
    Par pev15 dans le forum Bibliothèques et frameworks
    Réponses: 7
    Dernier message: 28/05/2010, 13h48
  4. [Web Service][SOAP] Client Web Service en PHP5
    Par bm_belgacem dans le forum Bibliothèques et frameworks
    Réponses: 6
    Dernier message: 07/05/2008, 18h03
  5. [Web Service][SOAP] Client soap PHP et C#
    Par zulot dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 19/04/2007, 10h53

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