Die SOAP Erweiterung von PHP unterstütz von Haus aus keine Attachments. Manchmal ist es aber Sinnvoll binäre Daten mittels Anhängen/Attachments und SOAP zu übertragen. Ich habe dazu eine kleine Klasse geschrieben, mit der das Senden und Empfangen von Anhängen mit SOAP Aufrufen möglich wird.
Anwendung:
require_once dirname(__FILE__).'/AutoLoad.php';
$soap_client = new \DS\SOAP\SoapClient(
null,
array(
'location' => 'http://privat.home/ds_soap/test_server.php',
'uri' => 'http://privat.home/',
'soap_version' => SOAP_1_2,
'encoding' => 'UTF-8',
'trace' => 1
)
);
Der SOAP Aufruf mit einer Datei im Anhang funktioniert dann wie folgt:
var_dump($soap_client->callWithAttachment('checkFile', [0], [$file1]));
Im Beispiel wird die SOAP Funktion checkFile mit dem Parameter 0 aufgerufen und bekommt als Anhang die Datei $file1 übergeben. Der Parameter $file1 muss dabei der Pfad auf die Datei sein.