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

  1. #1
    Candidat au Club
    Inscrit en
    Juillet 2007
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 6
    Points : 3
    Points
    3
    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
    Points : 3 212
    Points
    3 212
    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
    Candidat au Club
    Inscrit en
    Juillet 2007
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 6
    Points : 3
    Points
    3
    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
    Points : 3 212
    Points
    3 212
    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
    Candidat au Club
    Inscrit en
    Juillet 2007
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 6
    Points : 3
    Points
    3
    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
    Points : 3 212
    Points
    3 212
    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.

  7. #7
    Candidat au Club
    Inscrit en
    Juillet 2007
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    Ok merci de ton aide, je vais voir d'où vient le problème =)

    D'ailleurs j'ai ma petite idée sur ce qui ne fontionne pas : Eclipse : j'ai testé en déployant sur Apache une autre fontion et ça a l'air de marcher.

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Février 2009
    Messages : 16
    Points : 9
    Points
    9
    Par défaut
    Bonjour,

    j'ai le même soucis, j'ai créer des services web en java et je souhaite y accéder via un client php5.

    Je ne peux appeler que les services qui ne prennent pas de paramètres. Des qu'ils y a passage de paramètre j'ai une erreur m'expliquant que je n'ai pas fournit de paramètre.

    Comment as tu résolue ton problème s'il te plait ?

    (Les services web sont crées à partir d'éclipse)

  9. #9
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Février 2009
    Messages : 16
    Points : 9
    Points
    9
    Par défaut
    Bon pour ceux que sa intéresse j'ai réussi à me débrouiller.

    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
     
    $wsdl='http://localhost:8080/WebServiceTest/services/Hello?wsdl';
    $client = new soapclient($wsdl);
    //création du client
    $param->name = "test";
    $temp = $client->sayHello($param);
    print_r($temp);
    echo $temp->sayHelloReturn;
    //appel du WS avec un string en paramètre, c'est $param qui fais passer le paramètre $param->Le nom du paramètre dans le wsdl
    echo "<br>";
    $temp = $client->hello();
    print_r($temp);
    echo $temp->helloReturn;
    //exemple sans paramètre
    echo "<br>";
    $param->a = 1;
    $param->b = 2;
    $temp = $client->addition($param);
    echo $temp->additionReturn;
    //exemple avec deux paramètre

  10. #10
    Nouveau membre du Club
    Homme Profil pro
    Etudiant Ingénieur
    Inscrit en
    Avril 2011
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Etudiant Ingénieur
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2011
    Messages : 25
    Points : 29
    Points
    29
    Par défaut
    j'utilise netbeans ou j'ai cree mon propre web service en java et j'essai d'y acceder depuis un client php mais je n'arrive pas a appelé les méthodes dont les parametre sont des string et merci

+ 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