Hallo,
ich komme allein nicht weiter, ich habe ein etwas seltsames Verhalten meiner XMLRPC-Schnittstelle:
Bestimmte Methoden funktionieren (z.B. gibt es eine ping-Methode oder authenticate-Methode), hier bekomme ich eine korrekte Antwort.
Dann gibt es aber noch eine Methode, über die eine Datei übertragen wird. Als Antwort bekomme ich auch wieder eine Datei. Das funktioniert soweit. Sobald ich aber eine größere Datei übertrage (~ >10 kb), ist die Antwort unvollständig, sie wird mittendrin abgeschnitten (nicht einmal die Tags aus der Antwort werden geschlossen).
So sieht die Antwort z.B. aus:
<?xml version='1.0'?>
<methodResponse>
<params>
<param>
<value><string>UEsDBBQAAAAAABa5ZTtVjTsIn58AAJ+fAAAKAAAAb3V0cHV0LnBkZiVQREYtMS40CiXi48/TCgIDAgb2JqCjw8L1R5cGUgL0NhdGFsb2cKL1BhZ2VzIDIgMCBSPj4KZW5kb2JqCgoyIDAgb2JqCjw8[...]
Der PHP Code sieht folgendermaßen aus:
$request = xmlrpc_encode_request('do_something', array($myFile));
$context = stream_context_create(array('http' => array(
'method' => 'POST',
'header' => 'Content-Type: text/xml',
'content' => $request
)));
$file = file_get_contents(sprintf('http://%s:%d/%s', $this->host, $this->port, 'do_something'), false, $context);
var_dump($file);
var_dump($file) erzeugt die obige (unvollständige) Ausgabe.
Kann mir jemand weiterhelfen?