Je suis pas contre. lol
J'ai déja essayé mais 'y a un truc que je dois mal faire (ou pas faire d'ailleurs) car ca change rien. Car sur le lien que tu m'as envoyé (que j'avais déjà vu
) il est question uniquement du coté client.
Mais j'imagine qu'il faut faire quelque coté serveur pour que les infos d'authentification par les headers SOAP soient interprétés.
Il dit :
Code :
- //Assume a header of complexType "session" in namespace "http://namespace" containing a single element "id" (Document/Literal)
|
Moi j'ai besoin d'un couple login/mdp donc y aura 2 éléments dans mon complexType.
J'ai posé donc coté serveur :
Code :
- $s->wsdl->addComplexType(
- 'session',
- 'complexType',
- 'struct',
- 'all',
- '',
- array(
- 'login' => array('name'=>'login','type'=>'xsd:string'),
- 'mdp' => array('name'=>'mdp','type'=>'xsd:string')
- )
- );
|
et coté client j'ai :
Code :
- $chemin="http://www.mondomain.fr/serveur.php?wsdl";
- $namespace="urn:monws";
- //ca, le namespace, je suis pas sur que ce soit correct.
- $soapclient = new nusoap_client($chemin,true);
- $session_header = "<session xmlns=\"".$namespace."\"><login>monlogin</login><mdp>monmotdepasse</mdp></session>";
- $soapclient->setHeaders($session_header);
|
Mais il se passe rien (j aurai limité préféré avoir un bon gros message d erreur histoire d avancer)
Le point qui me manque est comment dire a mon serveur que quand un client "arrive" il faut checker s'il est autorisé à l'utiliser. (enfin en partant de l'hypothèse j'ai pas écrit de connerie au dessus)
Message édité par Yanlaz le 15-04-2009 à 18:34:31