begin process at 2010 02 10 05:38:08
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Général

 > 

WebServices NuSOAP - MySql


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

WebServices NuSOAP - MySql

mercredi 6 août 2008 à 15:18:21 | WebServices NuSOAP - MySql

Johandev35

Bonjour,
Je développe des WebServices (Service et client) avec la librairie NuSoap.
Pour les web services basiques tout marche bien, mais j'ai besoin de faire quelque chose de plus évolué et la je rencontre des difficultés.

En fait j'ai mon service, qui récupère un identifiant : $id
Et ma fonction va chercher dans ma base de données, les informations correspondant a cet ID.
Je met donc ces informations dans un tableau que je retourne a mon client.
Mais je n'arrive pas a exploiter ce tableau coté client.
Voici mon code coté service :
<?php
//connexion a la base de donnée déja effectué

//ma fonction
function getInfoClient($id) {
    $rq_infos = mysql_query("SELECT * FROM CLIENTS WHERE ID= $id");
    while($INFOS = mysql_fetch_array($rq_infos)){
    $tab_client = array();
    $nom_ = $INFOS['NOM'];
    $tab_client[]=$nom_;
   
    $prenom = $INFOS['PRENOM'];
    $tab_client[]=$prenom;
   
    $adresse = $INFOS['ADRESSE'];
    $tab_client[]=$adresse;
   
    $cp = $INFOS['CP'];
    $tab_client[]=$cp;
   
    $ville = $INFOS['VILLE'];
    $tab_client[]=$ville;
    }
    return $tab_client;
}

// Création du service
$server = new soap_server;

// Initialize WSDL support
$server->configureWSDL("Service", 'http://localhost/Service.php');

//define complex types for returned array of client information
$server->wsdl->addComplexType(
    'client',
    'complexType',
    'struct',
    'all',
    '',
    array(
        'nom' => array('name'=>'nom','type'=>'xsd:string'),
        'adresse' => array('name'=>'adresse','type'=>'xsd:string'),
        'cp' => array('name'=>'cp','type'=>'xsd:string'),
        'ville' => array('name'=>'ville','type'=>'xsd:string')
       )
);

$server->wsdl->addComplexType(
  'clients',
  'complexType',
  'array',
  '',
  'SOAP-ENC:Array',
  array(),
  array(
    array('ref' => 'SOAP-ENC:arrayType',
         'wsdl:arrayType' => 'tns:client[]')
  ),
  'tns:client'
);

// Enregistrement de la méthode
$server->register('getInfoClient',                    // method name
  array('id' => 'xsd:string'),          // 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
);

// Invoque le service
$requete_HTTP_brute = (isset($HTTP_RAW_POST_DATA)?$HTTP_RAW_POST_DATA:'');
$server->service($requete_HTTP_brute);
?>

Et du coté de mon client je fais quelque chose comme ça :

<?php
 
// Inclusion de la librairie NuSOAP
require_once("./lib/nusoap.php");
 
$client = new soapclient('http://127.0.0.1/service.php');

// Appel de la méthode getInfoClient du service
$responseinfo = $client->call('getInfoClient',$param);

$nb = count($responseinfo);

for ($i = 0; $i<$nb; $i++)
{
echo $responseinfo[$i];
echo " ";
}
?>

Mais bien évidemment ça ne marche pas, sinon je n'aurais pas posté ce message :)

Si quelqu'un peut m'éclairer sur les erreurs éventuelles de mon code.
Je vous remercie !
Bonne journée !
mercredi 6 août 2008 à 15:20:55 | Re : WebServices NuSOAP - MySql

Johandev35

J'ai oublié, coté client la variable $param :

$param = array('id'=>'1');

Merci
vendredi 8 août 2008 à 11:37:49 | Re : WebServices NuSOAP - MySql

Johandev35

Réponse acceptée !
j'ai trouvé il faut juste enlever :

$server->wsdl->addComplexType(
  'clients',
  'complexType',
  'array',
  '',
  'SOAP-ENC:Array',
  array(),
  array(
    array('ref' => 'SOAP-ENC:arrayType',
         'wsdl:arrayType' => 'tns:client[]')
  ),
  'tns:client'
);


Cette discussion est classée dans : client, http, service, infos, array


Répondre à ce message

Sujets en rapport avec ce message

Question sur les Array ! [ par joduak ] Voilà j'essaie d'extract les infos de mon tableau qui me sort des infos du style : Array ( [0] => 09:00:00 [1] => 11:00:00 [2] => 20:00:00 relation avec 2 listes déroulantes [ par ManuAntibes ] Salut j'ai cette erreur Parse error: parse error, unexpected T_STRING in /var/www/free.fr/f/c/www.vivanda/Acces_clients/messagerie.php on line 32sur Demande de conseil : Authentification quelle méthode ? [ par xen16 ] Bonjour, Je suis en train de développer un espace client sur le site de mon entreprise. Il est donc nécessaire de mettre en place une authentification Formulaire les infos ne sont pas envoyées :( [ par Mascotte_Alex ] Bonjour tout le monde, voila je tente de faire un formulaire php/html cependant les infos ne sont pas envoyées sur ma boite e-mail je vous met en tele appel d'un webservice [ par khejavafr ] salut;je veux utiliser un webservice qui existe déja dans le site Xmethod,(<A href="http://www.xmethods.com/ve2/ViewListing.po?key=uuid:E9CC365B-B3B0- Problème avec la fonction GET [ par darkwisk ] Salut à tous,Je vais essayer de faire court....Je mets en place un système de news sur mon site, fait deux fichiers PHP et Mysql, le 1er "infos.php" l espaces membres : connexion auto [ par Osiris68 ] salut a tous voila je debte dans la creation de site, et je voudrais bien savoir ce que je dois ajouté au code suivant pour avoir une case a cocher po Double liste déroulante | selected [ par blutch38 ] Bonjour,j'ai 2 liste déroulante, lié l'une à lautre.la 1ere me permet de selectionner un clientla 2eme de selectionner les affaires en cours du client Le maximum d'infos possible sur un visiteur. [ par Filipe35 ] Bonjour, j'aimerais savoir quelles sont les infos que l'on peut connaitre du visiteur hormis -son IP -son ISP -son OS -son Navigateur -son pays me Acceder à un service Web Sécurisé SSL depuis un client php [ par charliebrown49 ] Bonjour, <b


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,515 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales