Das PHP-Beispiel ermittelt anhand von Kundenummer [customer_id] 1234, Passwort [password] 1234 Poistleitzahl [zip] 98716, Saat [state] D und einer eindeutigen ID [locid] 98716000 alle im Umkreis [radius] von 20 Kilometer gelegenen PLZ-Ort-Kombinationen. Die Anzahl der Ergebnisse [limit] wird auf max. 100 und einer Liste von Postleitzahlen [ziplist] 98716,98693 begrenzt.
Die nusoap.php Bibliothek von Dietrich Ayala (http://dietrich.ganx4.com/nusoap/) wird benutzt um die Webservice-Funktionen zu implementieren:

<?php
// include library
require_once("nusoap.php");
// Definiert Übergabe Parameter
$ziplist = Array("98716","98693");
$options = Array(
	// Maximale Anzahl zurückgelieferter Postleitzahlen
	"limit"		=>20,
	// Offset der Trefferliste			
	"offset"	=>5,
	// Sortierkriterium(0=Entfernung,1=Postleitzahl,2=Ort)
	"sort"		=>0,
	// Gibt an welche postleitzahlen zurück geliefert werden
	"ziplist"	=>$ziplist,
	// ID eines Ortes in der Datenbank
	"locid"		=>"98716000",
	// Passwort nur für den Testzugang notwendig
	"password"	=>"qwertz"
);
$param_in = array(
	// Die Kundenidentifikationsnummer
	"customer_id"		=>1234,
	// Postleitzahl
	"zip"			=>"98716",
	// Suche in einem Umkreis von 20 km
	"radius"		=>20,
	// Land Deutschland
	"state"			=>"D",
	// Optionen
	"options"		=>$options
);

//Initialisiert der Server als SOAP Client.
//Der erste Parameter ist die anzusprechende Serveradresse mit 
//dem zugehörigen WSDL Skript. Der zweite Parameter definiert 
//das Übertragungsformat als WSDL-XML
$server=new soapclient("
	http://ebaas.de/webservice/soap_server.php?wsdl",TRUE);

//Diese Variable überschreibt den in nusoap.php definierten Zeichencode
//Der Zeichencode ihres Clientservers muss dem Ihrer Webseite entsprechen
//mit der nusoap.php kann man zwischen UTF-8 und ISO-8859-1 wählen
$server->soap_defencoding = "ISO-8859-1";

//Weil die nusoap.php immer ISO-8859-1 in UTF-8 umwandelt muss
//diese Variable mit "false" überschrieben werden, 
//wenn der Client UTF-8 benutzt
$server->decode_utf8 = false;

//Diese Definition unterdrückt das automatische debuggen der nusoap.php.
//Liefert das Ergebniss Array mehr als 300 Werte,
//dann wird der Overhead an Ihrem Client Servermehr als 32 MB betragen
//und in Abhängigkeit Ihrer Serverdefinition einen Abbruch erzwingen.
$server->setGlobalDebugLevel(0);

//Adressiert die ebaasDistance._showRelated Methode mit 
//Input-Parameter $param_in.
$result_array = $server->call("ebaasDistance_showRelated",
		array("param_in"=>$param_in));

// Wenn kein Fehler auftritt, wird das Ergebnis ausgegeben
if (!$server->fault){
	echo "<table>";
	for($i=0;$i<count($result_array);$i++)
	{
		echo "<tr>";
		echo "<td>".$result_array[$i]["zip"]."</td>";
		echo "<td>".$result_array[$i]["distance"]."</td>";
		echo "<td>".$result_array[$i]["loc1"]."</td>";
		echo "<td>".$result_array[$i]["loc2"]."</td>";
		echo "</tr>";
	}
	echo "</table>";
}

//Wenn ein Fehler erkannt wurde können Sie folgendes ausgeben:
//Fehlernummer (dokumentiert), einen Hinweistext, SOAP-Request,
//SOAP-Responce und Debugging
else
{
	echo "<h2>Error</h2>";
    if ($server->fault){
   		echo "FAULT: 

code: {$server->faultcode}
"; echo "String: {$server->faultstring}
"; // Request an den SOAP-Server echo "<pre>".htmlspecialchars($server->request, ENT_QUOTES)."</pre>"; // Responce vom SOAP-Server echo "<pre>".htmlspecialchars($server->response, ENT_QUOTES)."</pre>"; // Debug echo "<pre>" .htmlspecialchars($server->debug_str, ENT_QUOTES)."</pre>"; } } ?>

Bemerkungen:
Kundennummer (hier 1234) und Script-Name (hier http://ebaas.de/webservice/soap_server.php?wsdl) bekommen Sie nach Anmeldung zum Testzugang bzw. nach Kauf der Lizenz von uns per Email an die von Ihnen angegebene Adresse übermittelt.