Retourner aux forums || Retourner au forum Programmation.php
Programmation.php : Problème SOAP - WSDL
Posté par roblescriso () le 15 mai 2008
Bonjour à tous!
Voilà j'ai un problème avec un fichier WSDL.
j'ai mon client soap qui reçoit un formulaire passé par POST et envoi une requête au serveur SOAP
mon problème est ( je crois) dans l'entête du fichier WSDL car il me semble que le fichier WSDL n'est pas envoyé! en tout cas je ne le vois pas avec Wireshark.
La fonction qui se trouve dans le serveur SOAP renvoi une valeur numérique et j'arrive bien à la récupérer mais cette fonction ne reçoit rien en paramètres.
[CODE]
je vous montre le client:
$client = new SoapClient('http://IP/face_1/WSProducteur.wsdl', array( 'soap_version' => SOAP_1_1,'trace' => 1,'exceptions' => 0));
$orderitems=array('retailerid'=>3,'idprod'=>2,'quantite'=>1);
$O = $client -> neworder($orderitems);
ma fonction sur le serveur SOAP:
function neworder($inputdet,$inputidprod,$inputqt) {
// si j'essaye de récupérer les paramètres reçus, je n'obtient rien
//return array('result' => $inputdet.", ".$inputidprod.", ".$inputqt);
return array('result' =>1);
}
voici la requete SOAP:
Request :
3
et la réponse:
Response:
, ,
et pour fini l'entête du fichier WSDL:
xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:tns0="http://IP/face_1/WSProducteur.wsdl/types/"
xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
xmlns:tns="http://IP/face_1/WSProducteur.wsdl"
name="WSProducteur"
targetNamespace="http://IP/face_1/WSProducteur.wsdl">
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:soap11-enc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:tns="http://IP/face_1/WSProducteur.wsdl/types/"
targetNamespace="http://IP/face_1/WSProducteur.wsdl/types/"
elementFormDefault="qualified">
[/CODE]
j'envoie que l'entête car je suis presque sur que c'est un erreur de configuration car j'ai déjà utilisé plusieurs fois ses fichiers mais il y a que celui là qui ne fonctionne pas et il y a que l'entête qui le différence des autres.
J'utilise PHP 5 et apache.. mmm je crois que j'ai rien oublié...
Je vous remercie énormément de votre aide!
Voilà j'ai un problème avec un fichier WSDL.
j'ai mon client soap qui reçoit un formulaire passé par POST et envoi une requête au serveur SOAP
mon problème est ( je crois) dans l'entête du fichier WSDL car il me semble que le fichier WSDL n'est pas envoyé! en tout cas je ne le vois pas avec Wireshark.
La fonction qui se trouve dans le serveur SOAP renvoi une valeur numérique et j'arrive bien à la récupérer mais cette fonction ne reçoit rien en paramètres.
[CODE]
je vous montre le client:
$client = new SoapClient('http://IP/face_1/WSProducteur.wsdl', array( 'soap_version' => SOAP_1_1,'trace' => 1,'exceptions' => 0));
$orderitems=array('retailerid'=>3,'idprod'=>2,'quantite'=>1);
$O = $client -> neworder($orderitems);
ma fonction sur le serveur SOAP:
function neworder($inputdet,$inputidprod,$inputqt) {
// si j'essaye de récupérer les paramètres reçus, je n'obtient rien
//return array('result' => $inputdet.", ".$inputidprod.", ".$inputqt);
return array('result' =>1);
}
voici la requete SOAP:
Request :
et la réponse:
Response:
et pour fini l'entête du fichier WSDL:
xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:tns0="http://IP/face_1/WSProducteur.wsdl/types/"
xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
xmlns:tns="http://IP/face_1/WSProducteur.wsdl"
name="WSProducteur"
targetNamespace="http://IP/face_1/WSProducteur.wsdl">
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:soap11-enc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:tns="http://IP/face_1/WSProducteur.wsdl/types/"
targetNamespace="http://IP/face_1/WSProducteur.wsdl/types/"
elementFormDefault="qualified">
[/CODE]
j'envoie que l'entête car je suis presque sur que c'est un erreur de configuration car j'ai déjà utilisé plusieurs fois ses fichiers mais il y a que celui là qui ne fonctionne pas et il y a que l'entête qui le différence des autres.
J'utilise PHP 5 et apache.. mmm je crois que j'ai rien oublié...
Je vous remercie énormément de votre aide!
> Lire le message (1 commentaire, moyenne: 1).
Juste une petite info
Posté par
Quentin DELANCE () le 16/05/2008 à 16:44. (lien). Évalué à 1.
Pour la partie serveur en PHP je ne peux pas trop t'aider car sur un de mes projets j'ai fini pas en venir à faire la partie serveur en Java tellement les serveurs SOAP en PHP fonctionnent bien...
Pour ce qui est du client, lorsque tu fais des modifs d'interface (WSDL) le temps du dev, il est intéressant d'utiliser ceci :
ini_set("soap.wsdl_cache_enabled", "0");
(ou modif dans php.ini)
Sinon la partie cliente a tendance a ne pas voir les modifs...
Revenir en haut de page || Retourner aux forums || Retourner au forum Programmation.php



Cette discussion est archivée, il n'est plus possible de laisser des commentaires.
Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.