SOAP-Syntax Schritt für Schritt

Eine SOAP-Nachricht zu erstellen ist fast wie das Schreiben und Verschicken eines Briefes. Sobald man eine SOAP-Nachricht erstellt hat, muss man sie in einen SOAP-Umschlag (envelope) stecken und draußen Anweisungen draufschreiben. Hier ein Beispiel für einen solchen SOAP-Umschlag:


<Envelope>
<Header> ... </Header>
<Body> ... </Body>
</Envelope>

Die Auslassungszeichen (drei Punkte) zeigen an, wo der Brief und sonstige Inhalte hineinkommen. Natürlich ist dieses Stück XML genau so schlampig wie das erste send.xml – daher räumen wir die Syntax etwas auf:


<?xml version="1.0" ?>
<env:Envelope xmlns:env='http://www.w3.org/2001/12/
soap-envelope'>
<env:Header>
</env:Header>
<env:Body>
</env:Body>
</env:Envelope>

Dies ist das dritte Set von Tags, das Sie benötigen. Die Tags <Envelope>, <Header> und <Body> (Groß- und Kleinschreibung beachten!) werden durch den SOAP-Standard spezifiziert. Sie beschreiben die Bestandteile des Umschlags, der die SOAP-Daten umgibt, selbst wenn der Umschlag technisch separat von den Daten ist, die man tatsächlich verschickt. Alles zusammen wird „SOAP-Nachricht“ genannt. Lassen Sie uns nun die Nachricht in den Umschlag stecken, wie Listing B zeigt.

Drei „xmlns“ XML-Namensraum-Deklarationen für die drei Sammlungen von Tags werden in der Nachricht verwendet: zwei direkt sichtbare (eine wird wiederholt) und eine in der person.xsd-Datei. Aber was bedeutet der <p:control>-Tag? So wie man die Daten in den Umschlag stecken kann, kann man auch die Header-Funktionen von SOAP nutzen. Wenn man den <p:control>-Tag mit dem SOAP-Attribut „mustUnderstand“ versieht, zeigt dies für den Empfänger der Nachricht, dass die Nachricht intelligent verarbeitet werden muss, oder alles geht schief. Der <control>-Tag ist ein neuer Tag, nur geschaffen für dieses Attribut. Und so kann man es z.B. dem person.xsd-Schema hinzufügen:


<schema:element name="control">
<schema:complexType>
</schema:complexType>
</schema:element>

Wir wenden hier einen XSchema-Trick an, der verhindert, dass der <control>-Tag irgendwelche Inhalte enthält (ähnlich dem <hr>-Tag in HTML). Nun ist die SOAP-Nachricht vollständig. Wenn man dies alles auch auf die andere Nachricht anwendet, sieht sie aus wie Listing C.

Was jetzt noch bleibt, ist das Verschicken dieser beiden Nachrichten.

Page: 1 2 3 4

ZDNet.de Redaktion

Recent Posts

Bayerische KI-Agentur bietet KI-KOMPASS

Das KI-Werkzeug "BAIOSPHERE KI-KOMPASS" soll Unternehmen den Einstieg in KI erleichtern.

1 Woche ago

Cloudflare: Weltweiter Internettraffic wächst 2024 um 17,2 Prozent

Das Wachstum konzentriert sich wie im Vorjahr auf das zweite Halbjahr. Google dominiert bei den…

1 Woche ago

Adobe stopft kritische Löcher in Reader und Acrobat

Sie ermöglichen eine Remotecodeausführung. Angreifbar sind Acrobat DC, 2024 und 2020 sowie Reader DC und…

1 Woche ago

Dezember-Patchday: Microsoft schließt Zero-Day-Lücke

Die öffentlich bekannte und bereits ausgenutzte Schwachstelle erlaubt eine Rechteausweitung. Betroffen sind alle unterstützten Versionen…

1 Woche ago

Quantencomputer: Google meldet Durchbruch bei Fehlerkorrektur

Der neue Quantenchip Willow löst eine Herausforderung, an der seit 30 Jahren gearbeitet wird. Google…

1 Woche ago

OpenAI veröffentlicht KI-Video-Tool Sora

Es erstellt kurze Videoclips aus Textaufforderungen. Sora steht ab sofort Abonnenten von ChatGPT Plus und…

1 Woche ago