Hoi hoi,

Ik ben bezig om te proberen via een webhost te communiceren met
een andere webhost via xml. Nu heb ik onderstaande maar het
werkt voor geen meter. Iemand enig idee?

verzend.php op www.domein1.nl
<?php
function send_xml_to_host($host,$scriptpath,$xmldoc)
{
//Aangepaste ivm dat de xml file niet geheel werd overgestuurd!!
$fp = fsockopen($host, 80);
if (!$fp)
return;

fputs($fp, "POST $scriptpath HTTP/1.0\r\n" .
"Host: $host\r\n".
"Content-type: text/xml\r\n".
"Content-length: " . strlen($xmldoc) . "\r\n" .
"Connection: close\r\n\r\n" .
$xmldoc); // veranderd

while (!feof($fp))
{
$buf .= fgets($fp);
}
fclose($fp);
$buf = substr($buf, strpos($buf, "\r\n\r\n") + 4);
return $buf;
}
//Verzend bestelling
$xml = '<?xml version="1.0" encoding="iso-8859-1"? >
<retailbestelling><retailerid>102</retailerid><product><isbn>9043007307</isbn><aantal_eenheden>1</aantal_eenheden></product></retailbestelling>';

send_xml_to_host('www.domein2.nl', '/ontvang.php', $xml);
echo 'is verzonden';
?>

ontvang.php op www.domein2.nl
<?php
$file = 'ontvang.xml';
$data = file_get_contents("php://input");

$fp = fopen($file, "a");
fwrite($fp, $data);
fclose($fp);
mail('[email protected]', 'test xml', $data);

$data = implode("",file($file)) or die("could not open XML input file");
?>
Ik verstuur een mail met de data om te checken of het werkt maar dit gaat dus niet op.
Vangnet gebruiken?

Maar even serieus, doe je hier niet een beetje moeilijk? Je kunt ze makkelijker laten communiceren door zodra een script de XML van een andere webserver nodig heeft, het gewoon simpel weg OPVRAGEN in plaats van moeilijk te gaan doen met fsockopen. Dus dat is dan gewoon simpelweg een file_get_contents om de inhoud van het xml bestand op te vragen, of als je liever met een xml parser werkt, met een xml parser.

Klaar probleem opgelost en "all is well".
Ja leuk, maar als de ontvangende partij niet weet wanneer er data is.
De verzendende partij zal na een actie op de server een xml bericht afvuren.

Ik kan dus wel gaan afvragen maar volgens mij is dit niet een mogelijkheid.
Het gaat om het opvangen van iDEAL Lite xml statussen....

Reageren