Bonjour,
Je faits un service web en PHP et j’ai une fonction du coté serveur qui effectue une requête sur ma base de données ensuite elle renvoie un tableau. Le problème est que quand le client soap appelle cette fonction il récupère seulement la première valeur du tableau.
Pouvez-vous m’aider à résoudre ce problème svp,
Voici mon le code coté serveur :
Code :
- class myWebService {
-
- // Méthode renvoyant une date standardisée
- function getOperationsEnCours() {
- $requete_1 = "SELECT id FROM operation";
- $query_1 = mysql_query($requete_1) or die (mysql_error().$requete_1);
- $tab = mysql_fetch_assoc($query_1);
- $reponse = array();
- $i=0;
- while($tab = mysql_fetch_assoc($query_1))
- {
- $reponse[$i] = $tab["id"];
- $i++;
- }
- return array('id' => $reponse);
- }
- }
- // On tente d'instancier la classe soapServer
- // Si cela s'avère impossible, on lève une exception
- try {
- $server = new SoapServer('file.wsdl', array('trace' => 1, 'soap_version' => SOAP_1_1));
- // On définit la classe qui va gérer les requètes SOAP
- $server -> setclass('myWebService');
- } catch (Exception $e) {
- echo $e;
|
Le code coté client est :
Code :
- Try {
- $client = new SoapClient('http://localhost/soap/file.wsdl', array('trace' => 1, 'soap_version' => SOAP_1_1));
- $O = $client->__call('getOperationsEnCours', array());
- } catch (SoapFault $fault) {
- echo $fault;
- }
|