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 fichier XML vers serveur et réception réponse


Sujet :

Langage PHP

  1. #1
    Membre expérimenté Avatar de slim
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2002
    Messages
    938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2002
    Messages : 938
    Points : 1 337
    Points
    1 337
    Par défaut Envoi fichier XML vers serveur et réception réponse
    Bonjour à tous !

    j'ai problème d'envoi et de réception de fichiers xml.
    En fait, je ne vois absolument pas comment faire.
    J'ai cherché mais je trouve toujours des problemes relatifs à l'upload d'images, envoi de mails etc.
    Je dois convertir un texte en fichier XML, l'envoyer à un serveur
    www.nom-serveur.com/API/XML/
    Ce serveur doit traiter ce fichier et m'en envoyer un autre (toujours en XML).

    Mon probleme est que je ne vois pas comment envoyer le fichier :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    move_uploaded_file($xmlfile, $url_serveur); // ?
    2eme probleme : Quel code faut-il utiliser pour la réception ?

    J'utilise DOMIT! pour la conversion (parse).

    Merci beaucoup !!
    Faites une recherche sur le forum et/ou sur internet et lisez la doc officielle avant de poser une question svp.
    et n'oubliez pas de lire les FAQ !
    FAQ Java et les cours et tutoriels Java
    Doc JAVA officielle
    AngularJS 1.x
    Angular 2

    Do it simple... and RTFM !

  2. #2
    Membre expérimenté Avatar de slim
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2002
    Messages
    938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2002
    Messages : 938
    Points : 1 337
    Points
    1 337
    Par défaut
    Salut !

    j'ai essayé avec ca
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if(move_uploaded_file($xmlfile, $url_serveur))
             echo "Envoi du fichier ok ! <br /> <strong>Attente de la reception...</strong>";
    mais ca ne marche pas.
    Quelqu'un a une idée, s'il vous plait ?

    Merci
    Faites une recherche sur le forum et/ou sur internet et lisez la doc officielle avant de poser une question svp.
    et n'oubliez pas de lire les FAQ !
    FAQ Java et les cours et tutoriels Java
    Doc JAVA officielle
    AngularJS 1.x
    Angular 2

    Do it simple... and RTFM !

  3. #3
    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
    pour uploader un fichier, tu dois surement passer par un formulaire, non ?
    tu pourrais nous donner plus de détails sur ce que tu as comme contraintes ?

  4. #4
    Membre expérimenté Avatar de slim
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2002
    Messages
    938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2002
    Messages : 938
    Points : 1 337
    Points
    1 337
    Par défaut
    Bonjour,

    oui, j'utilise un formulaire.
    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <FORM action="https://www.serveur.com/API/1.0/" method="post" name="getuserinfo">
      	<P>Veuillez cliquer sur le bouton envoyer 
      	<INPUT type="submit" value="Envoyer">
      	<INPUT type="hidden" name="envoi_serveur" value="<?php $xmlfile; ?>">
    </FORM>
    Après avoir cliqué sur le bouton "envoyer", j'atteris sur https://www.serveur.com/API/1.0/
    avec seulement "414" ecrit sur la page (texte brut).

    Voila ce que je dois faire (contraintes) :

    1. recupérer le login et mot de passe utilisateur
    2. les enregistrer dans un fichier xml
    3. les envoyer à un serveur (https://www.serveur.com/API/1.0/)
    4. recuperer un autre fichier xml contenant d'autres informations sur l'utilisateur, que le serveur m'envoie.
    5. transformer le fichier xml en tableau
    6. afficher ces informations.


    Je bute sur les points 3 et 4...
    Merci bcp.
    Faites une recherche sur le forum et/ou sur internet et lisez la doc officielle avant de poser une question svp.
    et n'oubliez pas de lire les FAQ !
    FAQ Java et les cours et tutoriels Java
    Doc JAVA officielle
    AngularJS 1.x
    Angular 2

    Do it simple... and RTFM !

  5. #5
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Le problème ne viendrait-il pas du serveur distant? Tu nous dis qu'il affiche le XML en texte brut si j'ai bien compris, donc le XML passe bien au serveur mais ce serait lui qui ferait mal son travail en l'affichant et non en le traitant.

    webrider

  6. #6
    Membre expérimenté Avatar de slim
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2002
    Messages
    938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2002
    Messages : 938
    Points : 1 337
    Points
    1 337
    Par défaut
    C'est pas le XML qu'il affiche mais "414".
    J'ai une page blanche, avec "414" ecrit en haut à gauche.
    Faites une recherche sur le forum et/ou sur internet et lisez la doc officielle avant de poser une question svp.
    et n'oubliez pas de lire les FAQ !
    FAQ Java et les cours et tutoriels Java
    Doc JAVA officielle
    AngularJS 1.x
    Angular 2

    Do it simple... and RTFM !

  7. #7
    Membre expérimenté Avatar de slim
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2002
    Messages
    938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2002
    Messages : 938
    Points : 1 337
    Points
    1 337
    Par défaut
    Salut !

    j'ai l'impression que cette discussion n'est pas très compréhensible, parce que personne ne répond...

    S'il affiche "414", cela veut dire qu'il y a une erreur lors de l'envoi du fichier.
    Alors que le formulaire me semble bon.

    Qu'est ce que vous en pensez ?

    et qu'en est il de la réception. J'utilise une variable globale ?

    Merci.
    Faites une recherche sur le forum et/ou sur internet et lisez la doc officielle avant de poser une question svp.
    et n'oubliez pas de lire les FAQ !
    FAQ Java et les cours et tutoriels Java
    Doc JAVA officielle
    AngularJS 1.x
    Angular 2

    Do it simple... and RTFM !

  8. #8
    Membre expérimenté Avatar de slim
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2002
    Messages
    938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2002
    Messages : 938
    Points : 1 337
    Points
    1 337
    Par défaut
    Bon, problème à moitié réglé.

    Enfin, je crois, parce qu'il ne m'affiche plus le 414. Maintenant, je dois recuperer le fichier XML que le serveur doit me renvoyer. Mais comment faire pour preparer la reception du fichier ? Où et comment le stocker ?
    Tout ce que je sais du serveur qui m'envoie le fichier, c'est son adresse.

    Le code d'envoi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <FORM action="https://www.serveur.com/API/1.0/" method="post" name="getuserinfo">
      	<P>Envoi du fichier... </P><br/>   
      	<INPUT type="hidden" name="userfile" value="<?php $xmlfile; ?>"
    				getuserinfo.submit();>
      	<P>Ok ! </P>
    </FORM>
    Pour la réception, j'ai essaye ca, mais ca donne vraiment rien :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $stock = '<?php echo $mosConfig_absolute_path ;  ?>/components/com_votrecompte/';
     
    		if (move_uploaded_file($_FILES['userfile']['tmp_name'], $stock.$_FILES['userfile']['name']))
    		{
    		    echo "Le fichier ".$_FILES['userfile']['name'].
            	    " a été téléchargé avec succès dans ".$stock;
    		} else {
    			echo "Le fichier n'a pas été reçu... !";
    			}
    En fait, le deuxieme parametre de move_uploaded_file est la destination du fichier. Il me faudrait une fonction avec la provenance.

    Merci...
    Faites une recherche sur le forum et/ou sur internet et lisez la doc officielle avant de poser une question svp.
    et n'oubliez pas de lire les FAQ !
    FAQ Java et les cours et tutoriels Java
    Doc JAVA officielle
    AngularJS 1.x
    Angular 2

    Do it simple... and RTFM !

  9. #9
    Membre expérimenté Avatar de slim
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2002
    Messages
    938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2002
    Messages : 938
    Points : 1 337
    Points
    1 337
    Par défaut
    hummm, j'ai essaye pas mal de choses mais je ne vois toujours pas quoi mettre.

    Il n'y aurait pas une ame charitable passant par là qui voudrait bien m'aider si ou plé ?

    Mercii
    Faites une recherche sur le forum et/ou sur internet et lisez la doc officielle avant de poser une question svp.
    et n'oubliez pas de lire les FAQ !
    FAQ Java et les cours et tutoriels Java
    Doc JAVA officielle
    AngularJS 1.x
    Angular 2

    Do it simple... and RTFM !

  10. #10
    Invité
    Invité(e)
    Par défaut
    Salut!

    Excuse-moi pour l'erreur 414 j'avais pas trop compris! lol En fait je me pose une question à propos de ton formulaire...

    J'ai l'impression qu'il n'est pas adapté à l'utilisation que tu souhaites en faire. Je vois que tu utilises la variable $xmlfile (chemin vers le fichier xml) que tu transmets en 'hidden' par post, tu ne transmets au serveur que le chemin du fichier et non son contenu!

    Une manière d'envoyer le contenu à un serveur distant en php est de créer un socket [fsockopen()] et d'envoyer des headers [fputs()] et le retour est récupéré par un fgets(). C'est quasi identique au travail sur un fichier local, la seule différence est que tu envoies les données par POST à un serveur distant.

    Tu peux aussi utiliser un formulaire html mais dans ce cas tu dois utiliser le type 'file'.

    J'espère que ceci va te mettre sur la voie.

    webrider

  11. #11
    Membre expérimenté Avatar de slim
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2002
    Messages
    938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2002
    Messages : 938
    Points : 1 337
    Points
    1 337
    Par défaut
    Citation Envoyé par webrider
    Salut!

    Excuse-moi pour l'erreur 414 j'avais pas trop compris! lol En fait je me pose une question à propos de ton formulaire...
    Salut !

    Y a pas de quoi !

    Citation Envoyé par webrider
    J'ai l'impression qu'il n'est pas adapté à l'utilisation que tu souhaites en faire. Je vois que tu utilises la variable $xmlfile (chemin vers le fichier xml) que tu transmets en 'hidden' par post, tu ne transmets au serveur que le chemin du fichier et non son contenu!
    Effectivement ! quand je fais un echo dessus, il m'affiche le chemin du fichier. Et quand le serveur envoie un "414", ca veut dire que le fichier XML est mal formé (ca m'avait etonné, le fichier xml etait bien ecrit).

    Citation Envoyé par webrider
    Une manière d'envoyer le contenu à un serveur distant en php est de créer un socket [fsockopen()] et d'envoyer des headers [fputs()] et le retour est récupéré par un fgets(). C'est quasi identique au travail sur un fichier local, la seule différence est que tu envoies les données par POST à un serveur distant.
    si j'envoie les données par POST, dois-je mettre la fonction (code php) dans un formulaire HTML ?

    exemple de code php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    $fp = fsockopen("https://www.serveur.com/API/1.0/", 80, $errno, $errstr, 15);
    if (!$fp) {						   
    	echo "Erreur Serveur !!!!!!!! <br />";
       echo "$errstr ($errno)<br />\n";
    } else {
     
     
       fwrite($fp, $xmlfile);
       while (!feof($fp)) {
           echo fgets($fp, 128);
       }
       fclose($fp);
    }
    Citation Envoyé par webrider
    Tu peux aussi utiliser un formulaire html mais dans ce cas tu dois utiliser le type 'file'.
    Justement, je peux pas utiliser le type 'file', parcce que dans ce cas, c'est l'utilisateur qui "va chercher" le fichier (parcourir...). Le fichier, c'est moi qui le crée et je dois l'envoyer en "hidden".

    Citation Envoyé par webrider
    J'espère que ceci va te mettre sur la voie.
    Merci beaucoup
    Faites une recherche sur le forum et/ou sur internet et lisez la doc officielle avant de poser une question svp.
    et n'oubliez pas de lire les FAQ !
    FAQ Java et les cours et tutoriels Java
    Doc JAVA officielle
    AngularJS 1.x
    Angular 2

    Do it simple... and RTFM !

  12. #12
    Invité
    Invité(e)
    Par défaut
    Justement, je peux pas utiliser le type 'file', parcce que dans ce cas, c'est l'utilisateur qui "va chercher" le fichier (parcourir...). Le fichier, c'est moi qui le crée et je dois l'envoyer en "hidden".
    Dans ce cas n'utilise même pas de formulaire, le code de connexion est largement suffisant et de plus l'utilisateur ne verra rien dans la source de la page (sécurité optimale).

    si j'envoie les données par POST, dois-je mettre la fonction (code php) dans un formulaire HTML ?
    Pas nécessairement, tu mets simplement le code là où tu juges que la connexion doit avoir lieu dans la logique de ton script php. Tu peux mêmes créer un fichier php rien que pour ça que tu inclueras dans un autre avec le fonction include(). Par contre n'oublie pas d'envoyer les en-têtes à ton serveur et de te connecter sur le port 443 car tu es en https et non le 80 pour http sinon ça va pas marcher.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $header .= "POST /url/script/reception.xyz HTTP/1.0\r\n";
    $header .= "Content-Type: letype/souhaite\r\n\r\n";
    Et puis tu fais un fputs($fp, $header) et ensuite tu envoies ton fichier.

    Voilà voilà bon dimanche!

    webrider

  13. #13
    Membre expérimenté Avatar de slim
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2002
    Messages
    938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2002
    Messages : 938
    Points : 1 337
    Points
    1 337
    Par défaut
    Salut ! et merci

    Warning: fsockopen() [function.fsockopen]: php_network_getaddresses: getaddrinfo failed: Name or service not known in ... line 428...

    Warning: fsockopen() [function.fsockopen]: unable to connect to https://www.inphonex.com/API/1.0/:443 in... line 428...

    Erreur Serveur !!!!!!!!
    No such file or directory (2)
    Le code que j'ai mis est le suivant :
    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
     
    	$header .= "POST HTTP/1.0\r\n";
    //	$header .= "Content-Type: letype/souhaite\r\n\r\n";
     
     
    $fp = fsockopen("https://www.inphonex.com/API/1.0/", 443, &$errno, &$errstr, 15);
    if (!$fp) {						   
    	echo "Erreur Serveur !!!!!!!! <br />";
       echo "$errstr ($errno)<br />\n";
    } else {
     
    	 fputs($fp, $header);
       fwrite($fp, $xmlfile);
       while (!feof($fp)) {
           echo fgets($fp);
       }
       fclose($fp);
    }
    L'adresse du serveur comme tu as pu le deviner est : https://www.inphonex.com/API/1.0/

    Meme quand je fais un ping sur http://www.inphonex.com, ca ne me renvoie rien. Encore moins en mettant "https". c'est sans le http:// que ca marche...

    L'erreur vient de la fonction fsockopen. Je vais creuser dans ce sens...

    Merci !
    Faites une recherche sur le forum et/ou sur internet et lisez la doc officielle avant de poser une question svp.
    et n'oubliez pas de lire les FAQ !
    FAQ Java et les cours et tutoriels Java
    Doc JAVA officielle
    AngularJS 1.x
    Angular 2

    Do it simple... and RTFM !

  14. #14
    Invité
    Invité(e)
    Par défaut
    Oui l'erreur provient de ton adresse qui doit être passée d'une façon spéciale, tu ne dois pas la préfixée https mais ssl :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $fp = fsockopen("ssl://www.inphonex.com/API/1.0/", 443, &$errno, &$errstr, 15);
    Logiquement ceci devrait régler ton problème.

    Bonne continuation,

    webrider

  15. #15
    Membre expérimenté Avatar de slim
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2002
    Messages
    938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2002
    Messages : 938
    Points : 1 337
    Points
    1 337
    Par défaut
    Bon... ca marche pas, meme avec ssl. Au fait, je crois que pour ssl, c'est le port 6697. J'ai essaye avec ca aussi mais ca marche pas...
    Je crois que je dois garder l'adresse qu'il m'ont filé (à savoir https).

    Bref, je verrai.

    Et peut on faire un ping sur un https, ou ssl (ca marche pas chez moi, rien ne marche )?

    Merci pour tesréponses
    Faites une recherche sur le forum et/ou sur internet et lisez la doc officielle avant de poser une question svp.
    et n'oubliez pas de lire les FAQ !
    FAQ Java et les cours et tutoriels Java
    Doc JAVA officielle
    AngularJS 1.x
    Angular 2

    Do it simple... and RTFM !

  16. #16
    Invité
    Invité(e)
    Par défaut
    Je suis certain que c'est le port 443. Pour ce qui est du ping tu le fais sur un hôte et non pas sur un protocole. Tu peux par exemple pinger www.tonsite.com mais pas https://www.tonsite.com!

    Si tu veux vraiment être certain que le serveur réponde bien en https (donc sur le port 443 de l'hôte) tu peux faire un scan des ports et si le 443 est ouvert ET si un service est détécté sur ce port alors tu devrais pouvoir communiquer avec cet hôte sur ce même port.

    En utilisant par exemple http://www.t1shopper.com/tools/port-scanner/ , un scanneur de port en ligne, tu entres ton serveur (www.inphonex.com) et le port (443) et il te dira qu'un service qui tourne sur ce port. Logiquement en faisant un fsockopen() ça devrait fonctionner comme sur des roulettes.

    Ce qui ne va pas dans ta ligne de code, désolé je ne l'avais pas vu plus tôt, c'est que tu tentes d'ouvrir un socket vers un script défini et non pas un hôte.

    La ligne en question devrait donc se présenter comme suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $fp = fsockopen("ssl://www.inphonex.com", 443, &$errno, &$errstr, 15);
    Dans le message POST que tu vas transmettre par la suite sur ce socket ouvert, là tu spécifies le script qui va recevoir les données à traiter (header) et à mon avis c'est là que tu coinces. As-tu bien envoyé les en-têtes de ce genre?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $header .= "POST /url/script/reception.xyz HTTP/1.0\r\n";
    $header .= "Content-Type: letype/souhaite\r\n\r\n";
    Avec tout ça je crois que ça devrait aller.

    Bonne soirée!

    webrider

  17. #17
    Membre expérimenté Avatar de slim
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2002
    Messages
    938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2002
    Messages : 938
    Points : 1 337
    Points
    1 337
    Par défaut


    Merci beaucoup pour ton aide !
    La connexion est Ok ! et l'envoi du fichier Ok !
    Par contre (et je suis en train de chercher et de tester), le serveur doit me renvoyer un fichier XML. Ce qu'il me renvoie avec le code que j'ai mis est une chaine de caractere :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    HTTP/1.1 200 OK Date: Sat, 03 Feb 2007 11:40:22 GMT Server: Apache/2.0.55 (Red Hat) 
    X-Powered-By: PHP/5.1.2 Set-Cookie: PHPSESSID=79b57a0
    Dans le fichier XML qu'il doit me renvoyer, je dois avoir un 'session id', je crois que c'est l'id à la fin de la chaine (non, je crois pas c'est l'id du cookie... ).

    Mon code :
    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
    function connexion_envoi($xmlfile){
    	$header = "POST / https://www.inphonex.com/API/1.0/\r\n";
    	$header .= "Content-type: text/xml\r\n\r\n";	
    	//port 443 pour https
    	//port 6697 pour ssl
    	$fp = fsockopen("ssl://www.inphonex.com", 443, &$errno, &$errstr, 30);
    	if (!$fp) {						   
    	   	echo "$errstr ($errno)<br />\n";
    	} else {
       		fputs($fp, $header);
    		fwrite($fp, $xmlfile);
    		//doit attendre une seconde ? 
    		$contents = fread ($fp, filesize ($xmlfile));
    //    	$buffer = fgets($fp);
    		fclose($fp);
    	}
    	return $contents;
    }
    dans header, je crois que le type à mettre est 'text/xml'.

    Problème à 70% résolu ! Merci bcp
    Faites une recherche sur le forum et/ou sur internet et lisez la doc officielle avant de poser une question svp.
    et n'oubliez pas de lire les FAQ !
    FAQ Java et les cours et tutoriels Java
    Doc JAVA officielle
    AngularJS 1.x
    Angular 2

    Do it simple... and RTFM !

  18. #18
    Invité
    Invité(e)
    Par défaut
    Salut!

    Excuse-moi pour la réponse tardive, beaucoup de boulot du coup j'ai pas vu tout de suite ta réponse.

    Ce que tu reçois est seulement l'en-tête pour te dire que le serveur web a bien traité ta demande. J'ai regardé les quelques lignes de code, et j'ai l'impression que ton erreur se situe dans ton header.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $header = "POST / https://www.inphonex.com/API/1.0/\r\n";
    n'est pas correct. Pas besoin d'envoyer https://... puisque lors de l'envoi de ton header tu es déjà entré en communication avec le serveur en question.

    Ca devrait plutôt être :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $header = "POST /API/1.0/script.php\r\n";
    Essaie ça et dis-moi ce qui en résulte.

  19. #19
    Invité
    Invité(e)
    Par défaut
    Ah oui pour répondre à ta question sur le "Content-type" text/xml est tout-à-fait correct!

  20. #20
    Membre expérimenté Avatar de slim
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2002
    Messages
    938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2002
    Messages : 938
    Points : 1 337
    Points
    1 337
    Par défaut
    Euh... non. Ca marche pas. Il ne me renvoie rien quand j'enlève 'https://etcera'.
    Et à la fin de l'adresse (le path) je n'ai pas de script.php. L'adresse qu'il m'ont donné (sur la documentation beta !) est https://www.inphonex.com/API/1.0/.

    All requests can be posted to https://www.inphonex.com/API/1.0/
    Voila. Merci !!
    Faites une recherche sur le forum et/ou sur internet et lisez la doc officielle avant de poser une question svp.
    et n'oubliez pas de lire les FAQ !
    FAQ Java et les cours et tutoriels Java
    Doc JAVA officielle
    AngularJS 1.x
    Angular 2

    Do it simple... and RTFM !

Discussions similaires

  1. Envoie automatique de fichier xml vers un serveur
    Par alex61 dans le forum VB.NET
    Réponses: 18
    Dernier message: 06/01/2011, 09h08
  2. Envoi d'un fichier XML vers un Web Service
    Par Agrumes dans le forum Linux
    Réponses: 2
    Dernier message: 06/02/2008, 15h09
  3. Transfert de fichier Client vers Serveur via INDY erreur ?
    Par bzh56 dans le forum Web & réseau
    Réponses: 2
    Dernier message: 20/03/2006, 10h34
  4. [VB.Net] Transfert de fichier local vers serveur
    Par geros dans le forum ASP.NET
    Réponses: 4
    Dernier message: 13/02/2006, 15h14
  5. newbie : fichier xml vers html via command-line
    Par morti dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 08/11/2005, 07h34

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