IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Envoi de données en XML dans une socket [PHP 5.2]


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2007
    Messages : 5
    Points : 6
    Points
    6
    Par défaut Envoi de données en XML dans une socket
    Bonjour,

    Pour un projet très sécurisé, je dois faire une connexion tcp et envoyer des identifiants de connexion au format XML.

    Le responsable informatique m'a montré la procédure en telnet :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    telnet 192.168.3.111 8080
    Requete :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <?xml version="1.0" standalone="yes"?>
    <message type="pipo">
      <body>
      <id>111111</id>
      <code>22222</code>
      <database>xxxx</database>
      </body>
    </message>
    exemple de réponse OK :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <message type="response:pipo">
      <body>
      <result>OK</result>
      <number>null</number>
      <civilite>null</civilite>
      <nom>MACHIN</nom>
      <prenom>PAUL</prenom>
      <adresse>null</adresse>
      <bp>null</bp>
      <cp>null</cp>
      <ville>null</ville>
      <pays>null</pays>
      <teldom>null</teldom>
      <telbur>null</telbur>
      <telGSM>null</telGSM>
      <datne>null</datne>
      <numdec>null</numdec>
      <email>null</email>
      <infoInterne>null</infoInterne>
      <infoExterne>null</infoExterne>
      </body>
    </message>
    exemple de réponse NOK :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <message type="response:pipo">
      <body>
      <result>ERROR</result>
      <number>3</number>
      <civilite>null</civilite>
      <nom>null</nom>
      <prenom>null</prenom>
      <adresse>null</adresse>
      <bp>null</bp>
      <cp>null</cp>
      <ville>null</ville>
      <pays>null</pays>
      <teldom>null</teldom>
      <telbur>null</telbur>
      <telGSM>null</telGSM>
      <datne>null</datne>
      <numdec>null</numdec>
      <email>null</email>
      <infoInterne>null</infoInterne>
      <infoExterne>null</infoExterne>
      </body>
    </message>

    Je me suis donc tourné vers fsockopen pour reproduire cette requête:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    $data = '<?xml version="1.0" standalone="yes"?><message type="pipo"><body><id>111111</id><code>22222</code><database>xxxx</database></body></message>';
    	$length = strlen ($data);
    	$fp = fsockopen("tcp://192.168.3.111", 8080, $errno, $errstr, 30);
     
    	if (!$fp) {
    		echo "ERRROR $errstr ($errno)<br />\n";
    	} else {
    		fputs($fp, $data);	
    		header ("content-type: text/xml");
    		while (!feof($fp)) {
    			echo fgets($fp, 4096);
    		}
    		fclose($fp);		
    	}
    Voici la réponse du serveur:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <message type="response:pipo">
      <body>
      <result>ERROR</result>
      <number>4</number>
      <description>Question inconnue</description>
      </body>
    </message>

    La connexion fonctionne bien, mais apparemment, le serveur ne comprend pas ma requête, je n'ai pas l'habitude d'utiliser fsockopen, est-ce bien la bonne méthode, sachant que j'ai vu sur le forum des personnes utiliser curl.

    Merci pour votre aide.

    Cordialement
    saturnino

  2. #2
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 235
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 235
    Points : 15 532
    Points
    15 532
    Par défaut
    Citation Envoyé par saturnino Voir le message
    La connexion fonctionne bien, mais apparemment, le serveur ne comprend pas ma requête, je n'ai pas l'habitude d'utiliser fsockopen, est-ce bien la bonne méthode, sachant que j'ai vu sur le forum des personnes utiliser curl.
    étant donné que le serveur répond, ça veut surement dire que ton code est bon donc demande au responsable du serveur ce que veut dire la réponse que tu reçois

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2007
    Messages : 5
    Points : 6
    Points
    6
    Par défaut RESOLU
    Merci Mathieu,

    oui entre temps, l'administrateur a fini par me répondre.

    Ma requête était bien bonne, c'est lui qui n'était pas complètement prêt.

    C'est donc Résolu!

    @+
    saturnino

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 09/05/2006, 12h00
  2. Intégration des fichier XML dans une base de données MySQL
    Par bebemoundjou dans le forum XQUERY/SGBD
    Réponses: 8
    Dernier message: 25/11/2005, 22h41
  3. Réponses: 3
    Dernier message: 13/12/2004, 13h54
  4. Champs de type XML dans une base de données
    Par Flocodoupoil dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 07/07/2004, 18h57
  5. problème xsl : inclure une donnée xml dans une balise html
    Par djodjo dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 03/01/2003, 09h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo