Fehler RPC-Schnittstelle

  • Hallo,
    wollte gerade ein Beispiel aus der PHP RPC-Dokumentation ausprobieren, bekomme aber bei allen Beispielen aus der Doku den Fehler:

    Zitat

    "Warning: XMLReader::XML() expects parameter 3 to be long, string given in D:\Programme\xampp\htdocs\Greyhound\php\ghrpc\core\ghrpcxmlrpcprotocol.php on line 457
    Die Telefonnotiz konnte nicht erstellt werden (Fehler: Could not parse rpc response xml)."


    Mache ich da noch etwas verkehrt oder laufen die Beispiele unter der aktuellen Programmversion vielleicht nicht mehr?
    Gruß

  • Hallo,
    die Zeile, in der der Fehler gemeldet wird ist folgende:

    PHP
    1. if(!$xml->xml($xmlResult, 'UTF-8', LIBXML_PARSEHUGE))
    2. throw new GhRpcException('Could not parse rpc response xml');


    Als dritter Parameter wird hier eine PHP-Konstante verwendet (LIBXML_PARSEHUGE) - warum da der PHP Interpreter meldet, dass angeblich ein String als dritter Parameter übergeben wird, ist mir nicht ganz klar. Welche PHP Version setzt ihr denn ein? Evtl. ist dort ja der XMLReader ein anderer. Das würde mich zwar wundern, denn laut offizieller PHP Dokumentation ist der Aufruf so nach wie vor korrekt, aber eine andere Ursache wüsste ich ehrlich gesagt momentan nicht. ;)

  • Hallo,
    die libxml Version bei euch sollte ja hoch genug sein, aber laut PHP Dokumentation wird die LIBXML_PARSEHUGE Konstante in PHP erst ab Version 5.2.12 unterstützt. Wenn ihr also 5.2.9 einsetzt kennt PHP da die Konstante noch nicht. Ihr müsstet dann eure PHP Version zumindest auf Version 5.2.12 updaten. Die PHP Bibliothek von GREYHOUND ist übrigens auch mit den neueren PHP Versionen kompatibel. Ich setze in der Entwicklung z.B. momentan PHP 5.5 ein, generell läuft die Bibliothek aber auch mit PHP 5.2 (bzw. so wie es aussieht dann erst ab PHP 5.2.12).

  • Hallo,
    stimmt, daran hat es gelegen. Habe unser xampp mal versuchsweise auf Version 5.4 upgegraded und schon funktionieren auch die RPC-Beispiele. Allerdings funktionieren jetzt einige unserer Intranetseiten nicht mehr mit der neueren PHP-Version. Da muss ich wohl nochmal ran...
    Besten Dank für Eure Hilfe.
    Gruß

  • Hallo,
    im Zweifelsfall kannst du natürlich mal XAMPP mit PHP 5.3 versuchen, vielleicht laufen eure Intranetseiten damit besser. Wenn ich das richtig sehe, dann müsste in XAMPP 1.7.7 PHP 5.3.8 enthalten sein.
    Die PHP Version ist zwar schon recht alt, aber für das Intranet ist das ja nicht so dramatisch.