<?php
 class MyFirstPersistentSoapServer {
     private $resource; // (wie z. B. PDO, mysqli usw.)
     public $myvar1;
     public $myvar2;
     public function __construct() {
         $this->__wakeup(); // Wir rufen unser wakeup auf, damit die Ressource verwendet werden kann
     }
     public function __wakeup() {
         $this->resource = CodeToStartOurResourceUp();
     }
     public function __sleep() {
         // Wir stellen sicher, dass $resource hier ausgelassen wird, damit
         // unsere Sessiondaten persistent bleiben. Versäumen wir dies, wird das
         // Deserialisieren der Daten bei der nächsten Anfrage fehlschlagen;
         // folglich wäre unser SoapObject nicht anfrageübergreifend persistent.
         return array('myvar1','myvar2');
     }
 }
 try {
     session_start();
     $server = new SoapServer(null, array('uri' => $_SERVER['REQUEST_URI']));
     $server->setClass('MyFirstPersistentSoapServer');
     // setPersistence MUSS nach setClass aufgerufen werden, weil setClass
     // SESSION_PERSISTENCE_REQUEST setzt sobald die Methode ausgeführt wird.
     $server->setPersistence(SOAP_PERSISTENCE_SESSION);
     $server->handle();
 } catch(SoapFault $e) {
     error_log("SOAP FEHLER: ". $e->getMessage());
 }
?>