PHP & SOAP
Résolu
olfah
Messages postés
15
Date d'inscription
Statut
Membre
Dernière intervention
-
olfah Messages postés 15 Date d'inscription Statut Membre Dernière intervention -
olfah Messages postés 15 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je suis débutante avec SOAP. J'ai crée un client et un serveur et j'aimerais bien faire deux fonctions une pour la récupération et autre pour l'insertion.
la fonction de récupération fonctionne correctement mais la fonction d'insertion ne marche pas.
serveur:
code client:
Merci d'avance
Je suis débutante avec SOAP. J'ai crée un client et un serveur et j'aimerais bien faire deux fonctions une pour la récupération et autre pour l'insertion.
la fonction de récupération fonctionne correctement mais la fonction d'insertion ne marche pas.
serveur:
require_once ('lib/nusoap.php');
$server = new soap_server();
$server->configureWSDL('Test','urn:Test');
$server->soap_defencoding = 'utf-8';
$server->register('connection',array('ID' => 'xsd:int'),
array('return' =>'xsd:string'));
$server->register('insertUser',array('FirstName'=>'xsd:string','LastName' =>'xsd:string'),array('return' =>'xsd:string'));
//base de donnée
function connection($ID){
try {
$db=new PDO('mysql:host=localhost;dbname=service','root','');
foreach($db->query('select * from myusers where ID = '.$ID) as $row)
{
return $row['FirstName'];
break;
}
} catch (PDOException $e) {
print "Erreur !: " . $e->getMessage() . "<br/>";
die();
}
}
function insertUser($FirstName,$LastName){
try {
$db1=new PDO('mysql:host=localhost;dbname=service','root','');
$req=$db1->prepare('insert into myusers values(?,?)');
$FirstName=$_POST['nom'];
$LastName=$_POST['prenom'];
$req->bindParam(1,$FirstName);
$req->bindParam(2,$LastName);
$req->execute();
return "client ajouter";
}
catch (PDOException $e) {
print "Erreur !: " . $e->getMessage() . "<br/>";
die();
}
}
$HTTP_RAW_POST_DATA = isset($HTTP_RAW_POST_DATA) ? $HTTP_RAW_POST_DATA : '';
$server->service($HTTP_RAW_POST_DATA);
?>
code client:
<?php
// Pull in the NuSOAP code
require_once('lib/nusoap.php');
// Create the client instance
$client = new nusoap_client('http://localhost/testc/server.php');
$result = $client->call('connection',array('ID' => 1));
echo $result;
if(isset($_POST['btn_ajt']))
{
$res=$client->call('insertUser',array('FirstName'=>$_POST['nom'],'LastName'=>$_POST['prenom']));
echo $res;
}
else
{
echo "
<form name='test' method='post' action='server.php'>
<table>
<tr><td>Nom</td><td><input type='text' name='nom'></td></tr>
<tr><td>Prenom</td><td><input type='text' name='prenom'></td></tr>
<tr><td><input type='submit' value='ajouter' name='btn_ajt'></td></tr>
</table>
</form>";
}
Merci d'avance
A voir également:
- PHP & SOAP
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Retour a la ligne php - Forum Webmastering
- Alert php - Forum PHP
- Retour a la ligne php ✓ - Forum PHP
1 réponse
Bonjour,
là comme ça... je pense que l'erreur se trouve là :
Côté serveur tu écris :
mais côté client tu as mis :
plus exactement :
Donc... tu envoies ... non plus "nom" et "prenom" ... mais .. "FirstName" et LastName"
là comme ça... je pense que l'erreur se trouve là :
Côté serveur tu écris :
$FirstName=$_POST['nom']; $LastName=$_POST['prenom'];
mais côté client tu as mis :
$res=$client->call('insertUser',array('FirstName'=>$_POST['nom'],'LastName'=>$_POST['prenom']));
plus exactement :
array('FirstName'=>$_POST['nom'],'LastName'=>$_POST['prenom'])
Donc... tu envoies ... non plus "nom" et "prenom" ... mais .. "FirstName" et LastName"
J'ai la corrigé mais l'ajout ne s'effectue pas..
mets donc un