Um das Beispiel des asynchronen Übertragens von Daten mit Soap nachvollziehen zu können, kopieren Sie die Datei „soap_client_getattrib_async.html“ in den Ordner, in dem sich bereits die Datei „soap_client_getattrib.html“ befindet.

Wenn Sie nun das Beispiel im Browser öffnen, sehen Sie, dass es im Grunde nur eine Änderung gab. Statt das Ergebnis des Aufrufs der Soap-Funktion direkt in die Variable „attributesClass“ zu speichern, geschieht dies beim asynchronen Aufruf erst in der Callback-Funktion. Bei größeren Datenmengen könnte man mit wenig Aufwand einen Fortschrittsbalken einbauen, damit der Benutzer sieht, dass im Hintergrund etwas passiert. Der Einfachheit halber wird in diesem Tutorial die synchrone Variante genutzt.

Im folgenden Schritt soll auf dem Soap-Server die Funktion „MySoapClass::putSomethingToServer($something)“ ausgeführt und dieser ein Parameter übergeben werden. Kopieren Sie dazu die Datei „soap_client_putargs.html“ in den Ordner, in dem sich bereits die Datei „BlasterSoapClient.js“ befindet.

Der Parameter mit dem Inhalt „Irgendein String“ wurde nun an „MySoapClass::putSomethingToServer($something)“ übergeben und ein SoapFault-Objekt mit dem Inhalt der Nachricht wurde an den Client zurückgeschickt. SoapFaults sind wichtig, um dem Client Fehler mitzuteilen, die auf dem Server passiert sind (z. B. Eingabefehler, Exceptions etc.). Dadurch muss der Client nicht auf die Antwort warten. Außerdem kann man sich Tests sparen, in denen geprüft wird, ob alle Werte auch wirklich angenommen wurden.

Fazit

Einen zentralen Web-Service-Server vorausgesetzt, lassen sich auch mit anspruchsvolle, Web-Service-basierte Applikationen umsetzen. Der direkte Zugriff per SOAP auf den Server erspart hierbei der JavaScript-Anwendung den Umweg über ein serverseitiges PHP-Skript, das dann wieder per XML oder JSON die Daten zum Client vermitteln müsste.

Seite:  1 2 3 4

Weitere Artikel zu PHP und JavaScript

Softlink 1498

Links und Literatur