Antworten
Erzeuge ein "leeres" Object und benuetzte die addArray() Methode um es zu fuellen:
Code: In Zwischenablage kopieren (nur IE)
Steht jedenfalls so in der Dokumentation ;)
2.
Also ich finde, dass man das auch anders verstehen kann. Hast du damit schon gearbeitet? Vermutlich ist es wirklich das, was ich brauche, ich werde es mal ausprobieren.
Danke!
3.
Jetzt, wo Du's sagst... Stimmt, das ist nicht eindeutig. Selber hab ich's glaub ich noch nicht benutzt...
Nee, nee, Ich korrigier mich hier mal selbst. Ein Array in PHP ist etwas voellig anderes als in XML-RPC. Du kannst meinen Vorschlag von eben gern testen, aber Deine Befuerchtung ist hoechstwahrscheinlich richtig: Du musst das Array umstaendlich konvertieren... Noch besser waer's natuerlich, Du wuerdest es von vornherein aus XML_RPC_Values zusammensetzen!
4.
Aber sag mal, warum benutzt Du nicht die XML-RPC Extension:
http://nl3.php.net/manual/de/ref.xmlrpc.php
Dann koenntest Du auch ganz komfortabel die xmlrpc_encode() Funktion benutzen...
5.
Hui, das beruhigt mich etwas, weil das Manual hier schon von zwei Leuten gelesen wurde und wir es beide anders verstanden hatten. Aber ist schon etwas komisch, dass die Funktion fehlt, oder? Hat vielleicht noch jemand anders damit gearbeitet? Ist natürlich kein großes Problem, das selbst zu schreiben, ist halt nur etwas komisch. Außerdem frage ich mich, ob ich da vielleicht auf dem Holzweg bin, weil das ein schlechter Stil ist.
Aber sonst werde ich es ausprobieren und selbst programmieren müssen.
Hat noch jemand anders Erfahrungsberichte für uns?
6.
Da steht:
Zitat:
Diese Erweiterung ist EXPERIMENTELL.
Hast du damit schon gearbeitet? Hat das noch Bugs? Problem ist bei uns, dass wir das auf jedem Server installieren müssten, das wäre mit PEAR etwas einfacher.
Würde eigentlich was dagegen sprechen, ein Array einfach zu serialisieren, dann als String zu verschicken und wieder zu deserialisieren? Ist wahrscheinlich sehr dirty, oder?
7.
Die Extension ist schon ein paar Jahre in der Entwicklung. Um Bugs wuerd ich mir also keine grosse Sorgen machen. Ein bisschen Testen muessen, wirst Du natuerlich schon! (Egal ob Du die PEAR Klasse oder die Extension benutzt :) )
Und Serialisieren halte ich fuer ne schlechte Idee. Dadurch stellst Du XML-RPC auf den Kopf. Das wuerde zwingend voraussetzen, dass der Client 1.) ebenfalls PHP benutzt und 2.) weiss, dass er noch einen Extraschritt gehen muss, um an die Daten zu kommen. Ein Grundgedanke von XML-RPC ist aber, dass Client und Server so wenig wie moeglich ueber ihre Implementierung wissen sollten.
Wenn Du aber 100% Kontrolle, sowohl ueber den Client/die Clients, als auch den Server hast, stellst sich die Frage, ob Du XML-RPC ueberhaupt brauchst. Dann koenntest Du genau so gut die Daten form-encoden und per POST schicken ;)
8.
Ok, das meinte ich mit Dirty. Das sehe ich vollkommen ein.
Die gesuchte Funktion haben wir mittlerweile gefunden. Ganz unten im Dokument steht folgendes:
Zitat:
Other Functions
Below are functions that lay outside the various XML_RPC objects.
XML_RPC_encode()
$rpc = XML_RPC_encode ($php_val)
Takes native php types and encodes them into XML_RPC PHP object format.
XML_RPC_decode()
$values = XML_RPC_decode ($XML_RPC_val)
Takes a message in PHP XML_RPC object format and translates it into native PHP types.
Danke für das inspirierende Gespräch, jetzt klappt es!