Bonjour,
Je dois créer une application web en php, qui doit à un moment pouvoir ouvrir un socket sécurisé par lequelle je devrai faire une requete POST pour l'envoi d'un fichier XML.
Par la suite, une réponse sous la forme d'un fichier XML sera également écrite sur ce même flux.
Voila comment je comptais faire le tout:
L'ouverture du socket à l'air de se faire correctement (message: OK d'affiché), je n'ai pas d'erreur lors de l'écriture sur celui ci donc ça semble être ok aussi.
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 $fp = fsockopen($url, $port, $errno, $errstr, 30); if($fp) echo "ok"; else echo"ko"; if (!$fp) { echo "$errstr ($errno)<br />\n"; } else { $out = "Request: POST/https://wwwcie.ups.com/ups.app/xml/Return/1.1\n"; $out .= "Content-Type: application/x-www-form-urlencoded\n"; $out .= "Content-Length: strlen($data)\n"; $out .= $xml_file; fwrite($fp, $out); $x = fopen("rma_xml_gen_dir_aa/rep.xml","w"); while (!feof($fp)) { fputs($x,fgets($fp,256)); } fclose($x); fclose($fp); }
Mais pour ce qui est de la lecture sur le stream il ya un problème.
Si je'affiche un msg à chaque itération du while, je peux voir qu'il y rentre pas mal de fois et qu'il lit donc bien quelque chose. Mais dès que j'ouvre mon fichier rep.xml, il est vide...
Ma question est d'une part de savoir si mon raisonement semble correct pour l'envoit d'un fichier XML par flux ssl. (avec la methode POST...) Et d'une autre part à quoi pourrait être lié le fait qu'il a l'air de lire sur le stream mais n'écrit rien.
Merci d'avance!
Partager