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.
Mit dem Internet verbundene Digitale Bilderrahmen oder Mediaplayer können mit Schadsoftware infiziert werden und sind…
Schädliche Apps können unter Umständen einen Systemabsturz auslösen. Mindestens eine Anfälligkeit erlaubt eine Remotecodeausführung.
Sein Anteil an allen Infektionen steigt in Deutschland auf 18,5 Prozent. Das Botnet Androxgh0st integriert…
Betroffen sind Chrome 131 und früher für Windows, macOS und Linux. Angreifer können unter Umständen…
Marktforscher Lündendonk erwartet für das Jahr 2025 ein durchschnittliches Umsatzwachstum von 14,9 Prozent.
Alarmierender Anstieg von Open-Source-Malware / Seit 2019 haben Sonatype-Analysen mehr als 778.500 bösartige Pakete aufgedeckt