WSDL et XML : Comment ca marche ??

WSDL et XML : Comment ca marche ?? - XML/XSL - Programmation

Marsh Posté le 19-12-2008 à 17:45:31    

Bonjour,
 
Je suis en train de me renseigner sur le WSDL que l'on vient de me fournir car je n'avais strictement aucune idée de ce que c'était....
 
D'après ce que j'ai comprit le WSDL me sert plus ou moin de template pour me dire comment marche mon flux XML que je cherche à traiter.
Dans ce flux je peu en extraire tout mes paramètres dont j'ai besoin.
Une fois ce flux WSDL traité, je renvoie un flux contenant les paramètres demandé et ensuite le serveur me renvoie une autre flux XML avec la réponse.
 
Par-contre je n'ai également strictement aucune idée de comment faire....
Donc je viens un peu à la péche au infos sur ce forum :p
 
P.S : Pour info je suis sur une plateforme Apache/PHP/JS.

Reply

Marsh Posté le 19-12-2008 à 17:45:31   

Reply

Marsh Posté le 19-12-2008 à 18:51:12    

Un WSDL permet de décrire un webservice (généralement SOAP), uniquement la partie réseau (les messages que le WS accepte), les contenus étant habituellement décrits via un autre moyen (e.g. XSD).
 
Dans pas mal de langages, le WSDL est utilisé pour générer automagiquement un module correspondant au service, avec tous les objets et toutes les méthodes qui vont bien sans avoir à se taper manuellement la génération des requêtes SOAP (ou le parsing des réponses).
 
En PHP, tu devrais regarder dans la doc PHP sur SoapClient. À noter que c'est un module PHP5, si tu es en PHP4 il y a une lib appelée NuSOAP sur sourceforge qui semble faire la même chose.


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 24-12-2008 à 10:15:14    

Déjà désoler pour le retard de ma réponse mais je n''était pas bcp dispo derniérement....
Merci pour l'information Masklinn, c'est effectivement ce que j'avais comprit.
Depuis mon post, j'ai réussi à jouer avec les functions SOAP de PHP5, mais c'est toujour pareil sur la DOC PHP il y a toutes les fonctions, mais rien qui explique vraiment comment utiliser la chose.
 
Je suis en train de surfer pour cherche un petit tuto avec des exemples si possible donc si quelqu'un connaitrer un petit tuto sympa je suis preneur ^^


Message édité par ohuntedo le 24-12-2008 à 10:15:44
Reply

Marsh Posté le 08-01-2009 à 10:13:05    

Bon j'ai pas eu bcp de temps pour bosser dessus, mais maintenant je mit remet et voila ^^
 
J'arrive maintenant à ouvrir le WSDL de cette façon :
 

Code :
  1. $wsdl = "http://www.url.fr/service?WSDL";
  2. $client = new SoapClient($wsdl);
  3. $function = $client->__getFunctions();
  4. echo "<pre>" ;
  5. print_r($function);
  6. echo "</pre>" ;


 
Ce qui m'affiche dans mon navigateur :

Code :
  1. Array
  2. (
  3.     [0] => ArrayOfResultatSimulation afficher(double $doubleVal, string $string, string $string0)
  4. )


 
Donc je récupéré bien le nom de la fonction que mon flux attend qui est afficher qui attend donc 3 paramètres.
Ayant la fonction maintenant je fait donc :
 
$vem = $client->afficher(0.20,'test','test') ;
 
et j'optiens toujours l'erreur suivantes :
 

Code :
  1. Fatal error: Uncaught SoapFault exception: [HTTP] Not Found in E:\Dev\test.php:10 Stack trace: #0 [internal function]: SoapClient->__doRequest('<?xml version="...', 'http://www.url...', '', 1, 0) #1 [internal function]: SoapClient->__call('afficher', Array) #2 E:\Dev\test.php(10): SoapClient->afficher(0.2, 'test', 'test') #3 {main} thrown in E:\Dev\test.php on line 10


Reply

Marsh Posté le 15-12-2009 à 15:43:27    

Bonjour,
 
J'ai exactement le même problème que toi. Je peux récupérer les fonctions via __getFunctions() mais impossible d'en utiliser une :

Code :
  1. Fatal error: Uncaught SoapFault exception: [HTTP] Not Found in C:\www\sites\WS\index.php:49
  2. Stack trace:
  3. #0 [internal function]: SoapClient->__doRequest('<?xml version="...', 'http://localhos...', '', 1, 0)
  4. #1 [internal function]: SoapClient->__call('recupererMesDon...', Array)
  5. #2 C:\www\sites\WS\index.php(49): SoapClient->recupererMesDonnees(Array)
  6. #3 {main}
  7.   thrown in C:\www\sites\WS\index.php on line 49


 
As-tu résolu ton soucis ?
Quelqu'un a-t-il une idée ?
 
Merci.

Reply

Marsh Posté le 13-04-2010 à 10:27:00    

bonjour,
 
J ai exactement le meme probleme  
avez vous trouve une solution merci
 
 

chtom59 a écrit :

Bonjour,
 
J'ai exactement le même problème que toi. Je peux récupérer les fonctions via __getFunctions() mais impossible d'en utiliser une :

Code :
  1. Fatal error: Uncaught SoapFault exception: [HTTP] Not Found in C:\www\sites\WS\index.php:49
  2. Stack trace:
  3. #0 [internal function]: SoapClient->__doRequest('<?xml version="...', 'http://localhos...', '', 1, 0)
  4. #1 [internal function]: SoapClient->__call('recupererMesDon...', Array)
  5. #2 C:\www\sites\WS\index.php(49): SoapClient->recupererMesDonnees(Array)
  6. #3 {main}
  7.   thrown in C:\www\sites\WS\index.php on line 49


 
As-tu résolu ton soucis ?
Quelqu'un a-t-il une idée ?
 
Merci.


Reply

Marsh Posté le 22-03-2011 à 10:37:35    

salut a tous, moi aussi je vien  de commencer avec Soap
pour ton probleme je pense, ke vous avez oblier de mettre l'adresse de votre web service dans le fichier WSDL ici:
 
<service name='getResultService2'>  
   <port name='getResultPort2' binding='getResultBinding2'>  
     <soap:address location='http://localhost/New_SOAP2/server.php'/>  
   </port>  
 </service>
il faut mettre l'adresse de ton serveur!!!

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed