Bonjour,
j'ai déja posté un message concernant les web services, et j'ai réussi a le resoudre par moi meme. Mais la j'ai un autre probleme, qui parrait simple, mais que je n'arrive pas a résoudre.
En fait, je veux juste passer plusieurs parametres en entrées.
Donc voici comment je fais, coté client :
<?php
// Inclusion de la librairie NuSOAP
require_once("./lib/nusoap.php");
$client = new soapclient('http://127.0.0.1/service.php?wsdl', "wsdl");
// On creer le tableau de parametres
$param = array('login' => "johan", 'mdp' => "johan", 'id' => "0");
// Appel de la méthode getInfoClient du service
$responseinfo = $client->call('getInfoClient',$param);
?>
J'ai vérifier, les valeurs dans le tableau sont bien inserés.
Et donc coté serveur, j'essaye d'utiliser le tableau, mais en vain !
<?php
function getInfoClient($param) {
$login = $param['login'];
$mdp_ = $param['mdp'];
$id_ = $param['id'];
}
?>
Ici les valeurs $param['login'] sont vides.
Donc coté serveur, j'ai essayer de déclarer un type complexe, comme ceci :
<?php
$server->wsdl->addComplexType(
'log',
'complexType',
'struct',
'all',
'',
array(
'login' => array('name'=>'login','type'=>'xsd:string'),
'mdp' => array('name'=>'mdp','type'=>'xsd:string'),
'id' => array('name'=>'id','type'=>'xsd:string')
)
);
$server->register('getInfoClient', // method name
array('log' => 'tns:log'), // input parameters
array('return' => 'tns:client'), // output parameters
'http://localhost/Service', // namespace (espace de nommage unique)
'http://localhost/Service.php#getInfoClient', // soapaction (fonction)
'rpc', // style
'encoded', // use
'Infos client' // documentation
);
?>
Mais ça ne fonctionne toujours pas, si vous avez des idées, n'hesité pas, parceque je suis vraiment bloqué.
D'avance merci !
Cordialement.