SOAP - Simple Object Access Protocol

Historie

Merkmale

Aufbau

also:

Genereller Aufbau

SOAP-Request
<s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope">
    <s:Header>
    </s:Header>
    <s:Body>
    </s:Body>
</s:Envelope>

Beispiel SOAP Anfrage

SOAP-Request

<s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope">
    <s:Body>
        <m:TitleInDatabase xmlns:m="http://www.lecture-db.de/soap">
            DOM, SAX und SOAP
        </m:TitleInDatabase>
    </s:Body>
</s:Envelope>

Beispiel SOAP Antwort

SOAP-Response

<s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope">
    <s:Header>
        <m:RequestID xmlns:m="http://www.lecture-db.de/soap">a3f5c109b</m:RequestID>
    </s:Header>
    <s:Body>
        <m:DbResponse xmlns:m="http://www.lecture-db.de/soap">
            <m:title value="DOM, SAX und SOAP">
                <m:Choice value="1">Arbeitsbericht Informatik</m:Choice>
                <m:Choice value="2">Seminar XML und Datenbanken</m:Choice>
            </m:title>
        </m:DbResponse>
    </s:Body>
</s:Envelope>

SOAP-Conclutio

SOAP ist an sich eine feine Sache, durch die XML-Kapselung ist jederzeit klar, was wohin muss. Das stellt IMHO gleichzeitig den größten Nachteil dar.

Woher bekomme ich jetzt – server- wie client-seitig – schnell einen XML-Parser? Das Problem entfällt ja zumindest client-seitig mit Verwendung von JSON bei JSON-RPC/REST und deren Weiterverarbeitung mit Javascript.

Außerdem bläht SOAPs Geschwätzigkeit den Verkehr auf, eine Variable schicken und einen Request mit Header und Body und sonstigem XML-Overhead zu formen erscheint hier weniger zielführend.

Das soll dieses Interface nicht schlechtmachen, doch gibt es einfacher zu bedienende Schnittstellen, die für weniger Last auf Server- sowie Client-Systemen und darüberhinaus weniger Transit-Volumen sorgen.

andere Interfaces