|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | |||||
|
Membre du Club
![]() Inscription : août 2007 Messages : 94 ![]() |
Dans le cadre d'un projet de stage, j'ai mis en place un service web avec windev. La génération du service a bien crée une description WSDL du service et l'installation est effectuée sur un serveur soap. Le serveur a pu etre testé avec une appilcation cliente windev. Mon service web est donc bien fonctionnel selon moi.
Cependant, j'aimerais écrire un client en PHP 5 avec l'extension soap qui puisse appeler les fonctions de mon service web. J'utilise pour cela le serveur wamp afin d'avoir la version de php5 et toutes les librairies et extensions correspondante à la classe Soap. Voici la description wsdl de mon service: Code XML :
Code :
Citation:
Auriez vous des suggestion pour me débloquer? trés cordialement. |
|||||
|
|
00
|
|
|
#2 | ||||
|
Membre Expert
![]() Inscription : janvier 2005 Messages : 2 288 ![]() |
Ce genre d'erreur indique souvent que c'est la fonction coté serveur qui a planté, du coup elle ne renvoie pas de réponse SOAP (d'ou le "on n'a pas de XML dans la réponse")
Un bon moyen de comprendre ce qui se passe est d'utiliser le mode trace: Code :
Code :
|
||||
|
|
00
|
|
|
#3 | |
|
Membre du Club
![]() Inscription : août 2007 Messages : 94 ![]() |
Aprés correction du code, j'ai le message suivant:
Citation:
|
|
|
|
00
|
|
|
#4 |
|
Membre Expert
![]() Inscription : janvier 2005 Messages : 2 288 ![]() |
Je pense que tu as un problème dans ton WSDL, il a l'air de dire qu'il y manque des infos mais je t'avoue ne pas pouvoir t'en dire plus que ça, je suis loin d'être un expert en webservice...
Mais je ne comprends pas pourquoi ta requete est quasiment vide, il n'y a rien dans le body de la requete SOAP c'est étrange. Peut-être peux-tu regarder de ce coté la? Désolé de ne pouvoir t'en dire plus que ça. |
|
|
00
|
|
|
#5 | ||
|
Membre du Club
![]() Inscription : août 2007 Messages : 94 ![]() |
Je pense que le WSDL et correcte, car si je fais le test disponible sur la page html de présentation du service ,j'obtient bien le message xml de ma fonction. Si j'ai bien compris l'interet du web service, c'est du générer le message XML en fonction des appels du client. Voici le message XML correspondant a l'appel de la fonction soap "babar":
Code :
Alors pourquoi l'appel de la fonction en php ne traite la fonction soap? l'extension soap est elle fiable en php5? |
||
|
|
00
|
|
|
#6 |
|
Membre du Club
![]() Inscription : août 2007 Messages : 94 ![]() |
bah alors? personne n'a une idée de l'origine du probléme?
comment on peux régler le probléme: "Le nom de la WDL contenant le service doit être précisé dans l'espace de nommage."? Serait il plus judicieux d'utiliser du JSP plutot que php pour les webservices? |
|
|
00
|
|
|
#7 | |||||||||
|
Invité de passage
![]() Inscription : juin 2008 Messages : 1 ![]() |
Citation:
Je suis dans le même cas de figure que toi : WS Windev, client PHP. Si j'ai bien compris la source du problème, c'est que l'extension SOAP de PHP te construit une requête SOAP non valide pour Windev. Voici ma requête générée par SOAP : Code :
Code :
Le verdict tombe : l'espace de nommage "NomDuFichierWDL" doit se trouver dans la balise du nom de la fonction appelée. Code :
Code :
Moralité : en WS WinDev, autant créer ta propre classe de gestion d'appel de fonctions distantes. Bon courage edit : oops, j'avais pas vu le 2007 :s |
|||||||||
|
|
00
|
|
|
#8 |
|
Membre régulier
![]() Inscription : janvier 2006 Messages : 675 ![]() |
Merci tu m'as bien aidé^^
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com