Précédent   Forum du club des développeurs et IT Pro > PHP > Bibliothèques et frameworks > Services Web
Services Web Forum d'entraide pour les services Web en PHP, qui permettent de créer et de consommer facilement des webservices (génération de WSDL etc.). Exemples : SOAP, NuSOAP, REST, SCA-SDO... Avant de poster -> Cours webservices
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 13/04/2012, 09h49   #1
titours254
Candidat au titre de Membre du Club
 
Inscription : avril 2008
Messages : 36
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 36
Points : 11
Points : 11
Par défaut Insertion dans bdd par webservices

Bonjour

Suite à une demande, je dois developper un webservices simples sur serveur php, que j'aurais à terme à appeler depuis Delphi, bien que pour l'instant mon client soit aussi en php.
J'ai, sur une base mysql, une petite table toute simple dans laquelle je voudrais insérer un seul enregistrement.

J'ai donc codé, à partir de plusieurs exemples, et de la FAQ php du site. Voici ce à quoi j'arrive.

Serveur :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?
	function ajout($nom,$prenom,$telephone)
	{
 
	$db_server	='localhost';
	$db_user	='monuser';
	$db_pass	='monpass';
	$db_name	='mabase';
 
	$oConn=mysql_connect($db_server, $db_user, $db_pass) or die ('Impossible de se connecter, Problème hébergeur');
	mysql_select_db($db_name);
 
	$requete='INSERT INTO ws  (`id` ,`nom` ,`prenom` ,`telephone`) VALUES ( NULL,\''.$nom.'\',\''.$prenom.'\',\''.$telephone.'\');';
	// $requete;
	$res=mysql_query($oConn,$requete);
	return mysql_error($oConn);
	mysql_close($oConn);
	}
try
{
  $server = new SoapServer(null, array ('uri' => 'http://monserveur'));
  $server->addFunction('ajout');
  $server->handle();
}
catch(Exception $e)
{
  echo "Exception: " . $e;
}
 
?>
Client :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<?php
 
try
{
  $clientSOAP = new SoapClient( null,
    array  (
      'uri' => 'urlduservice',
      'location' => 'urlduservice',
      'trace' => 1,
      'exceptions' => 0
  ));
 
  $ret = $clientSOAP->__call('ajout', array ('nom'=>'titours','prenom'=>'254','telephone'=>'+33555555555'));
  echo $ret.'<br>';
  echo $clientSOAP->__getLastResponse();
  echo '<br>';
  echo $clientSOAP->__getLastRequest();
}
catch(SoapFault $f)
{
  echo $f;
  echo '<br>';
  echo $clientSOAP->__getLastResponse();
    echo '<br>';
  echo $clientSOAP->__getLastRequest();
 
}
 
?>
J'essaie de donc de faire une "simple" insertion, mais rien ne se passe.
Je ne reçois aucun code d'erreur (j'ai tenté de retourner le texte de ma requete et les éventuels messages d'erreur de mysql), mais l'insertion n'a pas lieu. Par ailleurs, j'ai vérifié l'activation effective de SOAP et SOAP apparait bien enabled dans le Phpinfo.

Il y a peu être des aberrations dans mon code ... mon premier contact avec les webservices datant d'hier après midi ...
Merci d'avance.
titours254 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/04/2012, 10h23   #2
vorace
Membre émérite
 
Avatar de vorace
 
Homme
Développeur
Inscription : août 2010
Messages : 594
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Meurthe et Moselle (Lorraine)

Informations professionnelles :
Activité : Développeur

Informations forums :
Inscription : août 2010
Messages : 594
Points : 906
Points : 906
Un id null ?! Si il est auto incrementer pas la peiine de le mettre dans la requete ni meme la valeur null...
__________________
Développeur informatique contrarié...
vorace est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/04/2012, 10h36   #3
titours254
Candidat au titre de Membre du Club
 
Inscription : avril 2008
Messages : 36
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 36
Points : 11
Points : 11
Merci, mais ma requête est correcte et acceptée par mysql telle quelle. Et supprimer ce paramètre de la requête ne change rien au résultat.
titours254 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/04/2012, 20h06   #4
vorace
Membre émérite
 
Avatar de vorace
 
Homme
Développeur
Inscription : août 2010
Messages : 594
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Meurthe et Moselle (Lorraine)

Informations professionnelles :
Activité : Développeur

Informations forums :
Inscription : août 2010
Messages : 594
Points : 906
Points : 906
il te manque pas un .wsdl ?!
__________________
Développeur informatique contrarié...
vorace est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/04/2012, 09h17   #5
titours254
Candidat au titre de Membre du Club
 
Inscription : avril 2008
Messages : 36
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 36
Points : 11
Points : 11
Si j'arrive à retrouver le tuto de base que j'ai suivi, je collerai la partie ou il disait que c'est pas absolument nécessaire...
titours254 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 00h23.


 
 
 
 
Partenaires

Hébergement Web