SOAP ist ein plattformunabhängiges, protokollbasiertes Kommunikationsprotokoll, das 1998 von Microsoft entwickelt und später durch das W3C standardisiert wurde. Es dient der Übertragung von strukturierten Informationen in verteilten Systemen und bildet die Grundlage vieler Webservices im Unternehmensumfeld.
Im Kern basiert SOAP auf XML zur Beschreibung der Nachricht und verwendet in der Regel HTTP oder SMTP als Transportprotokoll. SOAP-Nachrichten sind streng formalisiert und durch ein WSDL-Dokument (Web Services Description Language) definiert, das beschreibt, wie mit dem Webservice interagiert werden kann.
Aufbau und Funktionsweise von SOAP
Struktur einer SOAP-Nachricht
Eine SOAP-Nachricht besteht typischerweise aus vier Hauptelementen:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header>
<!-- Metainformationen (optional) -->
</soap:Header>
<soap:Body>
<!-- Nutzdaten (Request/Response) -->
</soap:Body>
<soap:Fault>
<!-- Fehlerinformationen -->
</soap:Fault>
</soap:Envelope>
Technische Komponenten von SOAP
| Komponente | Beschreibung |
|---|---|
| Envelope | Verpackt die Nachricht, enthält Header und Body. |
| Header | Enthält optionale Metadaten wie Sicherheitsinformationen, Routing, Transaktionen. |
| Body | Trägt die Nutzdaten (z. B. Methodenaufrufe mit Parametern). |
| Fault | Definiert ein standardisiertes Fehlerformat zur strukturierten Fehlerkommunikation. |
Transportprotokolle
Obwohl SOAP unabhängig vom Transportprotokoll ist, wird HTTP(S) am häufigsten verwendet. Möglich sind auch SMTP, FTP oder JMS. Das macht SOAP flexibel, jedoch auch komplex.
WSDL (Web Services Description Language)
SOAP-Dienste werden häufig über eine WSDL-Datei beschrieben, die folgende Informationen enthält:
- Verfügbare Methoden
- Eingabe-/Ausgabeparameter
- Datentypen (über XML Schema)
- Endpunkte und Protokolle
Sicherheits- und Transaktionsstandards
SOAP ist stark standardisiert und unterstützt viele Enterprise-relevante Standards:
- WS-Security – Digitale Signaturen, Verschlüsselung, Token
- WS-ReliableMessaging – Garantierte Nachrichtenübertragung
- WS-AtomicTransaction – Verteilte Transaktionen
Anwendungsbeispiele für SOAP
SOAP ist besonders in Enterprise-Umgebungen mit hohen Anforderungen an Sicherheit, Transaktionen und Standardisierung verbreitet. Typische Einsatzszenarien:
- Banken- und Finanzsysteme
- Versicherungen
- Gesundheitswesen (z. B. HL7)
- Industrie 4.0 mit ERP-Systemen
- B2B-Kommunikation (z. B. EDI)
Beispiel: Ein SAP-System ruft über einen SOAP-Webservice Kundendaten aus einem CRM-System ab. Die Kommunikation läuft verschlüsselt über HTTPS, und die Authentifizierung erfolgt über WS-Security mit einem SAML-Token.
Vorteile von SOAP
- ✓ Plattform- und sprachunabhängig
- ✓ Starke Standardisierung
- ✓ Unterstützt komplexe Datenstrukturen
- ✓ Integrierte Fehlerbehandlung
- ✓ Sicherheit und Transaktionsunterstützung
Nachteile von SOAP
- ✗ Komplexität und Overhead
- ✗ Eingeschränkte Browsernutzung
- ✗ Schwer lesbar für Menschen
- ✗ Eingeschränkte Flexibilität
- ✗ Veraltetes Image im Vergleich zu REST
Fazit: Wann ist SOAP sinnvoll?
SOAP ist ein leistungsfähiges Protokoll für strukturierte, sichere und transaktionsbasierte Kommunikation – insbesondere im B2B- und Enterprise-Kontext. Dort, wo Sicherheit, Transaktionssicherheit, Standardisierung und komplexe Datenstrukturen im Vordergrund stehen, ist SOAP nach wie vor erste Wahl.
Allerdings wirkt SOAP im Zeitalter von Microservices, Cloud-native APIs und mobilen Anwendungen oft schwergewichtig. In diesen modernen Szenarien wird SOAP zunehmend durch REST, GraphQL oder gRPC ersetzt.
Abwägung: SOAP eignet sich ideal für stabile, langfristige und regulierte IT-Infrastrukturen – weniger für schnelllebige Webprojekte.




Autor