Likes Likes:  0
Resultaten 1 tot 6 van de 6
Geen
  1. #1
    Nico Schuyt
    Hoe haal ik gegevens op met XML?
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Hoe haal ik gegevens op met XML?

    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



  2. #2
    Michiel de Roo
    Hoe haal ik gegevens op met XML?
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: Hoe haal ik gegevens op met XML?

    Nico Schuyt wrote:
    > 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);


    misschien is openssl niet geinstalleerd.

    http://nl3.php.net/manual/en/ref.openssl.php

  3. #3
    Nico Schuyt
    Hoe haal ik gegevens op met XML?
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: Hoe haal ik gegevens op met XML?

    Michiel de Roo wrote:
    > Nico Schuyt wrote:
    >> 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?


    >> -----------------
    >> Dit werkt dus soms:
    >> # openen van socketverbinding naar hetextranet
    >> $fp = fsockopen("ssl://interdata.vwe.nl", 999, $errno, $errstr, 30);


    > misschien is openssl niet geinstalleerd.
    > http://nl3.php.net/manual/en/ref.openssl.php


    Bedankt voor de tip Michiel! Ik zal dat navragen.

    Het (b)lijkt ook te kunnen met
    cURL: http://nl3.php.net/curl
    of
    xml-rpc: http://www.xmlrpc.com/
    maar hoe ik zoiets toepas op een XML-berichtje als uit mijn voorbeeld gaat
    mij (ver) boven de pet :-(

    --
    Nico



  4. #4
    Ronald Klip
    Hoe haal ik gegevens op met XML?
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: Hoe haal ik gegevens op met XML?

    Op Wed, 27 Jun 2007 20:36:15 +0200 schreef Nico Schuyt:

    > Michiel de Roo wrote:
    >
    >> misschien is openssl niet geinstalleerd.
    >> http://nl3.php.net/manual/en/ref.openssl.php

    >
    > Bedankt voor de tip Michiel! Ik zal dat navragen.


    phpinfo() is je vriend. Er zou iets moeten staan als
    OpenSSL support enabled
    OpenSSL Version OpenSSL [versie datum]



    --
    groet, Ronald

  5. #5
    Nico Schuyt
    Hoe haal ik gegevens op met XML?
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: Hoe haal ik gegevens op met XML?

    Ronald Klip wrote:
    > Nico Schuyt:
    >> Michiel de Roo wrote:


    >>> misschien is openssl niet geinstalleerd.
    >>> http://nl3.php.net/manual/en/ref.openssl.php


    >> Bedankt voor de tip Michiel! Ik zal dat navragen.


    > phpinfo() is je vriend. Er zou iets moeten staan als
    > OpenSSL support enabled
    > OpenSSL Version OpenSSL [versie datum]


    Maar natuurlijk! > Op beide unix-servers enabled.

    Het probleem treedt op bij uitlezen van de response:
    # 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";
    }

    Die laatste lus werkt (op server van NXS) netjes alle tekens (1154) uit de
    response af en blijft dan hangen.
    Geen loop en geen output maar gewoon hangen (als ik een.break toepas na 1155
    loops komt er *nooit* een response)
    Op server van Widexs treedt dat probleem niet op (beide zijn unix).

    Kan zo'n response door de server beeindigd worden met een speciaal teken?
    iets als end-of-file in en tekstbestand?

    --
    Nico




  6. #6
    Ronald Klip
    Hoe haal ik gegevens op met XML?
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: Hoe haal ik gegevens op met XML?

    Op Thu, 28 Jun 2007 08:42:11 +0200 schreef Nico Schuyt:

    > while (false !== ($char = fgetc($fp))) {
    > $XMLResponse .= "$char";
    > }
    >
    > Die laatste lus werkt (op server van NXS) netjes alle tekens (1154) uit
    > de
    > response af en blijft dan hangen.
    > Geen loop en geen output maar gewoon hangen (als ik een.break toepas na
    > 1155
    > loops komt er *nooit* een response)
    > Op server van Widexs treedt dat probleem niet op (beide zijn unix).


    Komisch... Probeer eens een variant:

    while (!feof($fp)) {
    $XMLResponse .= fread($fp, 512);
    }


    --
    groet, Ronald

Webhostingtalk.nl

Contact

  • Rokin 113-115
  • 1012 KP, Amsterdam
  • Nederland
  • Contact
© Copyright 2001-2026 Webhostingtalk.nl.
Web Statistics