echo $begrüßung;
die Datei (ein XML-File) wurde vorher über diese Funktion im System eingecheckt:
function WriteBinary($filepath){
$handle = fopen ($filepath, "r+b");
$theData = fread($handle, filesize($filepath));
fclose($handle);
return $theData;
}
Mit dieser Funktion liest du nur die Daten aus, auch wenn du sie (nur hier?) Write... genannt hast. Du bildest damit also file_get_contents() nach, was bereits seit PHP 4.3 zur Verfügung steht. (file_put_contents() gibt es auch, aber erst seit PHP 5.)
Diese Funktion ist nicht dein Problem. Was machst du anschließend mit den Daten? Behandelst du sie noch irgendwie oder gibst du sie ohne Umwege dem SOAP-Teil? Kümmert der sich um eine für die Übertragung geeignete Kodierung? Wenn ja, warum kümmert der sich dann beim Empfang nicht um eine Dekodierung? Wenn nein, wer kümmert sich dann?
Wenn ich diese Datei dann wieder aus dem System auslese, bekomme ich das vorher gezeigte Binärobjekt. Ich weiss also nicht, wie es kodiert wurde...
Die Übergabe zum und vom SOAP-Teil wäre meiner Meinung nach die Stelle, an der man weitersehen muss.
Unabhängig davon habe ich mal deine Daten durch base64_decode() geschickt und dabei ein XML-Fragment erhalten.
echo "$verabschiedung $name";