Er word verwacht dat ik met XML gegevens ophaal van een andere server.
Frustrerend is dat wordt voorgedaan dat dat heel eenvoudig is 'PHP kan toch
XML babbelen?', maar dat niemand een voorbeeld script heeft en ik ook geen,
voor mij begrijpelijke, informatie vind via Google.
Onderstaande aanpak werkt op een unix-server (Widexs), niet op een andere
unix-server (nxs) en al helemaal niet op een windows-server.
Heeft iemand een verwijzing naar een eenvoudig artikel met wat voorbeeld
scripts?
Bij voorbaat dank,
Nico Schuyt
-----------------
Dit werkt dus soms:
# openen van socketverbinding naar hetextranet
$fp = fsockopen("ssl://interdata.vwe.nl", 999, $errno, $errstr, 30);
# indien het maken van de socketverbinding mislukt is echo dan de
foutmelding
if (!$fp) {
echo "Fout $errstr ($errno)<br />\n";
exit;
} else {
# anders stel het xml requestbericht samen
# xml request
$vwepassword="xxxxxx";
//$XMLBody =
"XMLBody=<bericht><authenticatie><naam>cartal</naam><wachtwoord>".$vwepassword."</wachtwoord><referentie>mijnref</referentie><berichtsoort>CARTAL</berichtsoort></authenticatie><parameters><kenteken>$strKenteken</kenteken></parameters></bericht>";
$XMLBody =
"XMLBody=<bericht><authenticatie><naam>cartal</naam><wachtwoord>".$vwepassword."</wachtwoord><referentie></referentie><berichtsoort>CARTAL</berichtsoort></authenticatie><parameters><kenteken>$strKenteken</kenteken></parameters></bericht>";
# maken van headers
$headers = "";
$headers .= "POST /DataAanvraag.asmx/DataRequest HTTP/1.1\n";
$headers .= "Host: interdata.vwe.nl:999\n";
$headers .= "Content-Type: application/x-www-form-urlencoded\n";
$headers .= "Content-Length: ".strlen($XMLBody)."\n";
$headers .= "\n";
# sturen van headers en xml request naar hetextranet
fputs($fp, "$headers"."$XMLBody");
# instellen van timeout waarde voor socketverbinding
socket_set_timeout($fp, 1);
# ophalen van xml response
$XMLResponse = "";
while (false !== ($char = fgetc($fp))) {
$XMLResponse .= "$char";
}
# filteren van antwoord gegevens uit xml response
$strKenteken = getValue("kenteken",$XMLResponse);
$strMerk = getValue("merk",$XMLResponse);
$strModeltype = getValue("modeltype",$XMLResponse);
$strKleur = getValue("kleur",$XMLResponse);
$strDatumdeel1 = getValue("datumdeel1",$XMLResponse);
$strMotorcode = getValue("motorcode",$XMLResponse);
$strBrandstof = getValue("brandstof",$XMLResponse);
$strTransmissie = getValue("transmissie",$XMLResponse);
fclose($fp);
} //Van !$fp

Likes:

Quote