Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 5 sur 5
  1. #1
    Candidat au titre de Membre du Club
    Inscrit en
    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.

  2. #2
    Membre émérite Avatar de vorace
    Homme Profil pro
    Développeur
    Inscrit en
    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 : 826
    Points
    826

    Par défaut

    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é...

  3. #3
    Candidat au titre de Membre du Club
    Inscrit en
    avril 2008
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : avril 2008
    Messages : 36
    Points : 11
    Points
    11

    Par défaut

    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.

  4. #4
    Membre émérite Avatar de vorace
    Homme Profil pro
    Développeur
    Inscrit en
    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 : 826
    Points
    826

    Par défaut

    il te manque pas un .wsdl ?!
    Développeur informatique contrarié...

  5. #5
    Candidat au titre de Membre du Club
    Inscrit en
    avril 2008
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : avril 2008
    Messages : 36
    Points : 11
    Points
    11

    Par défaut

    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...

+ Répondre à la discussion
Cette discussion est résolue.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •