SOAP-Syntax Schritt für Schritt

Das Hauptproblem mit den eben erstellten Nachrichten ist, dass die gesamte Syntax auf recht wackeligem Boden steht. Es gibt keinen Hinweis, dass es sich um XML-Nachrichten handelt, geschweige denn, was die einzelnen Tags zu bedeuten haben. Also verbessern wir die send.xml-Nachricht wie folgt:


<?xml version="1.0" ?>
<p:person xmlns:p="http://saturn.test.com.au/2002/person">
<p:name>John Doe</p:name>
<p:age>21</p:age>
<p:color>Brown</p:color>
</p:person>

Mithilfe von XML-Namensräumen (xmlns) habe ich angegeben, dass alle Tags zu einer Sammlung (collection) „p“ von Tags gehören, die http://saturn.test.com.au/2002/person heißen. Wenn Sender und Empfänger der Nachricht beide diese Sammlung verstehen, ist die Nachricht verständlich. Aber woher kommt diese Sammlung von Tags?

Diese Sammlung von Tags ist in einer weiteren XML-Datei spezifiziert. Diese Datei ist voll von Tags nach dem XSchema-Standard. Der XSchema-Standard ist eine Möglichkeit, neue Tags zu beschreiben – wie z.B. <person>. Da ich den <person>-Tag erfunden habe, brauche ich auch ein Xschema-Dokument, das definiert, wie dieser <person>-Tag aussieht.

Es ist etwas verwirrend, aber alle XSchema-Dokumente enden (gemäß Konvention) auf .xsd, nicht .xml, und die .xsd-Erweiterung wird weggelassen, wenn man sich auf dieses Schema bezieht. Also meint htttp://saturn.test.com.au/2002/person die Datei person.xsd, die eine schlichte XML-Datei ist (siehe Listing A).

Der Programmierer erstellt diese XML-Datei. Diese bezieht sich wiederum auf eine weitere XML-Datei, nämlich die unter „www.w3.org/2001/XMLSchema„. Sie wurde von der Standardisierungs-Organisation geschrieben, und Sie müssen also nichts weiter tun, als sie jedes Mal verwenden, wenn Sie eine Schema-Datei wie person.xsd erstellen.

XSchema definiert das zweite erforderliche Set von Tags. Der <element>-Tag ist dabei der primäre. Diese person.xsd-Datei verwendet zwei <element>-Tags zur Definition der <person>- und <description>-Tags in meinem Beispiel. In der Schema-Datei finden sich eine Menge Details, aber worauf es ankommt, ist, dass alle Tags der Nachricht definiert sind und alle Tags eine type-Angabe besitzen. So ist der <age>-Tag vom type=“positiveInteger“ und kann nur innerhalb eines <person>-Tags auftauchen. Daten-Typen sind wichtig, da SOAP-Nachrichten normalerweise Daten senden, keine Texte. Selbst die schlichte Response-Nachricht (<description>), die durchaus einfacher Text sein könnte, wird als String deklariert.

Themenseiten: Anwendungsentwicklung, Software

Fanden Sie diesen Artikel nützlich?
Content Loading ...
Whitepaper

Artikel empfehlen:

Neueste Kommentare 

Noch keine Kommentare zu SOAP-Syntax Schritt für Schritt

Kommentar hinzufügen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *