Eine SOAP-API ist eine Programmierschnittstelle, die Nachrichten in einem festen XML-Format austauscht. SOAP wurde Ende der 1990er-Jahre unter Beteiligung von Microsoft entwickelt und 2003 in Version 1.2 vom W3C empfohlen.
- SOAP-API
Eine Schnittstelle, bei der Anfragen und Antworten als XML-Dokumente mit festem Aufbau verschickt werden.
Beispiel: „Die Lieferzeiten kommen über die SOAP-API des Großhändlers, die Anbindung musste deshalb XML verarbeiten.“Auch: SOAP, ursprünglich für Simple Object Access Protocol. Seit Version 1.2 gilt SOAP als Name und nicht mehr als Abkürzung.
Abgrenzung zur REST-API: REST ist ein Architekturstil mit freier Form, meist JSON. SOAP ist ein Protokoll mit festem Nachrichtenaufbau und eigener Beschreibungssprache.
Wie eine SOAP-API aufgebaut ist
Jede Nachricht steckt in einem Umschlag, dem Envelope, mit einem optionalen Kopf für Zusatzangaben wie Anmeldung und einem Rumpf mit dem eigentlichen Aufruf. Welche Aufrufe es gibt und welche Daten sie erwarten, beschreibt eine WSDL-Datei.
Aus dieser Datei lassen sich in vielen Sprachen fertige Klassen erzeugen. Der Aufruf fühlt sich dann an wie eine gewöhnliche Funktion im eigenen Code.
Wo SOAP-APIs noch eingesetzt werden
In Banken, Versicherungen, Behörden und bei großen Warenwirtschaften, also in Systemen, die seit den 2000er-Jahren laufen. Auch einige Paketdienste und Zahlungsanbieter bieten ihre ältere Schnittstelle weiter über SOAP an.
Die strengen Regeln haben dort Vorteile: Jede Nachricht lässt sich gegen das Schema prüfen, und Standards für Verschlüsselung und Signatur sind eingebaut.
Eine SOAP-API anbinden
In PHP gibt es dafür eine eigene Erweiterung, die aus der WSDL-Datei einen Client erzeugt. Aufwendiger als bei REST ist meist die Fehlersuche, weil die XML-Nachrichten lang und verschachtelt sind.
Wer neu baut, wählt heute fast immer REST oder GraphQL. Eine bestehende SOAP-API bleibt trotzdem oft der einzige Weg zu Daten aus einem Altsystem.