php-resource.de

PHP Tutorial: Eigene Web Services mit PHP5 bereitstellen? Kein Problem!

PHP5 bietet das nötige Rüstzeug, um bequem und schnell den eigenen Web Service auf die Beine zu stellen.

|01.05.2005 | beebob | 32527 | KAT : PHP | | Kommentare 0


7

7

Wenn Sie nun das Beispiel im Browser öffnen, dann sehen Sie, dass es im Grunde nur eine Änderung gab. Statt das Ergebnis das Aufrufs der Soap Funktion direkt in die Variable "attributesClass" zu speichern, geschieht dies beim asynchronen Aufruf erst in der Callback Funktion. Man kann bei grösseren Datenmengen leicht einen Ladebalken einbauen, damit der Benutzer sieht, dass im Hintergrund etwas passiert. Im folgenden werden wir der einfachheit halber mit der synchronen Variante fortfahren.

Nun wollen wir auf unserem Soap Server die Funktion "MySoapClass::putSomethingToServer($something)" ausführen und einen Parameter mitübergeben. Öffnen Sie eine leere Datei und speichern Sie diese als "soap_client_putargs.html" im selben Ordner ab, indem Sie die Datei "BlasterSoapClient.js" abgespeichert haben. Kopieren Sie folgenden Code in die Datei und speichern:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Ein Soap Client in Javascript</title>

<!-- Die Soap Klasse einbinden -->
<script type="text/javascript" src="BlasterSoapClient.js"></script>

</head>
<body>

<script>
// neue Instanz des Soap Clients erzeugen
var soapClient = new BlasterSoapClient();

// Webpfad zum SoapServer
soapClient.transportURI = 'http://localhost/soap_server.php';
   
try{
	// Parameter Array erzeugen. Die Funktion des Soap Server, die wir weiter unten aufrufen erwartet genau einen Parameter.
	var p = ['Irgendein String'];
	
	// Aufruf (invoke) der Funktion MySoapClass::putSomethingToServer($something) auf dem SoapServer
	soapClient.invoke('putSomethingToServer',p);
	
} catch(e) {
	alert(e);
}
</script>

</body>
</html>

Der Parameter mit dem Inhalt "Irgendein String" wurde nun an "MySoapClass::putSomethingToServer($something)" übergeben und es wurde ein SoapFault Objekt an den Client zurückgeschickt mit dem Inhalt der Nachricht. SoapFaults sind wichtig, um Fehler, die auf dem Server passiert sind (z.B. Eingabefehler, Exceptions etc.) dem Client mitzuteilen. Das heisst, der Client braucht nicht auf die Antwort warten und man kann sich Tests sparen, in denen geprüft wird ob alle Values auch wirklich angekommen sind.

Ich hoffe, Ihnen hat meine kleine Einführung in PHP5/Javascript SOAP gefallen. Im zweiten Teil werden wir sehen, wie die über den Client empfangenen Daten mit XUL verwendet werden können und beschäftigen uns näher mit WSDL.

Quellen

w3schools.com - Soap

Using the Mozilla SOAP API

Zend.com - Soap Extension

Navigation -> Seitenanzahl : (7)

  «  1 2 3 4 5 6 7  
Kommentare zum Tutorial
Tutorial kommentieren
 
Über den Autor
beebob

beebob

Status
Premium Mitglied

Beruf
Unbekannt

Mitglied seit:
30.04.2009

letzte Aktivität
04.06.2009

 

Tutorial bewerten

Hat Ihnen dieses Tutorial gefallen? Dann bewerten Sie es jetzt! Fünf Sterne bedeutet "Sehr gut", ein Stern "Unzureichend".



 

aktuelle Artikel

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Neu | Berni

Wissensbestand in Unternehmen

Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Neu | Berni