SoapRpcService.php – WSDL für SOAP RPC made easy

Dass man mit Entwicklungs-Umgebungen wie z.B. auch SharpDevelop (rechte Mautaste im Projekt -> “Web Referenz hinzufügen”) über automatisiert erstellte Proxies sehr einfach auf SOAP RPC zugreifen kann, werden die meisten ja wissen.
Wer PHP-Dienste via NuSOAP anbietet, dem ist bestimmt auch schon aufgefallen, dass es ziemlich umständlich ist, wenn es darum geht, eigene Datentypen/Datenstrukturen zu erzeugen.

Deshalb hab ich eine kleine Erweiterungsklasse namens “SoapRpcService” geschrieben, die diesen Vorgang erheblich vereinfacht.

Hier ein kleines Beispiel, wobei ich die Objekte zur binären und Dateiübertragung hierfür einmal ausgelassen habe:

span style="color: #808080; font-style: italic;">/**
 * Just an example of SoapRpcService.php
 * @access public
 * @author Holger Schadeck
 */'lib/SoapRpcService.php''ich bin es, dein server''id''Data''.''Item' => 'item''Datum''Y-m-d'/**
 * Create service object
 *//**
 * make function Test2 accesible
 */
$oServer->publish('Test1''string', 'Der Server spricht zu Dir');
/**
 * create an array of integer object
 */'ArrayOfInt', 'int');
/**
 * make function Test2 accesible
 */
$oServer->publish('Test2''Anzahl' => 'int''Der Server spricht öfter zu Dir');
/**
 * create a data structure object
 */'DataStruct''id' => 'int',
	'Data' => 'float',
	'Item' => 'string',
	'Datum' => 'date'
));
/**
 * create an array object of the data structure object
 */'ArrayOfDataStruct'/**
 * make function Test3 accesible
 */
$oServer->publish('Test3''Anzahl' => 'int''Der Server liefert ein Array von Datenkonstrukten');
/**
 * start the service
 */

Die SoapRpcService Klasse samt NuSOAP (NuSOAPs soapserver Klasse ist umbenannt in soap_server wegen potentiellem Konflikt mit der PHP SOAP-Erweiterung)

SoapRpcService Klasse Downloads: 3936 times

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

*