Forum Programmation.php Problème SOAP - WSDL

Posté par  .
Étiquettes : aucune
0
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 :
<?xml version="1.0" encoding="UTF-8"?>
3

et la réponse:

Response:
<?xml version="1.0" encoding="UTF-8"?>

, ,

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!
  • # Juste une petite info

    Posté par  . É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...

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.