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 | 32528 | KAT : PHP | | Kommentare 0


2

7

Der Soap Server

Um einen Soap Server mit PHP5 zu erstellen, haben wir zwei Möglichkeiten. Einmal einen Soap Server mit WSDL Defintionsdatei und einmal einen Server ohne. Eine WSDL Datei (Web Services Description Language) ist eine von XML abgeleitete Beschreibungssprache, um Funktions- bzw. Methodenaufrufe und Datentypen zu definieren. Für den Soap Server ist eine WSDL Datei nicht zwingend notwendig, sollte aber bei steigender Komplexität der Webservices auf jeden Fall eingesetzt werden. Nötig wird eine WSDL Datei spätestens dann, wenn die Datenübertragung mit SSL verschlüsselt werden soll. Denn diese Angabe muss explizit in der WSDL Datei vorhanden sein. Ausserdem gibt es Tools, z.B. für Java, die aus WSDL Dateien Programmcode erzeugen. Dies ist für das Rapid-Prototyping eine äusserst nützliche Hilfe. Ein gutes Tool, um WSDL Dateien On-The-Fly zu erzeugen ist der SOA-Editor.

Wir werden in diesem Teil die Möglichkeit ohne WSDL Dateien behandeln.

Öffnen Sie eine leere Datei und speichern Sie diese als "soap_server.php" in Ihrem Document Root ab. Kopieren Sie nun folgenden Code in die Datei und speichern:

<?
// Die Methoden in dieser Klasse werden weiter unten als Soap Service bereit gestellt
require_once('MySoapClass.php');

// Den WSDL Cache abschalten
ini_set("soap.wsdl_cache_enabled""0");

/* 
    Erzeugt eine neue SoapServer Instanz. Der erste Parameter (null) bedeutet, dass keine WSDL Datei verwendet werden soll.
    Wenn keine WSDL Datei angegeben wird, muss die uri Option gesetzt sein.
*/
$server = new SoapServer(null, array('uri' => "http://localhost/"));

/*
    Bestimmt, dass alle öffentlichen Funktionen der Klasse MySoapClass für den Client erreichbar sein sollen
*/
$server->setClass("MySoapClass");

/*
    Behandelt den Soap Request des Clients. Die Antwort wird in XML "verpackt" und an den Client zurückgeschickt
*/
$server->handle();
?>
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