.NET SOAP in der Praxis

Zur Speicherung von Objekten, Sammlungen oder beliebigen anderen Datenstrukturen kann man den Soap Formatter verwenden. Er konvertiert die Daten (und deren Struktur) in eine XML-Datei.

Man kann nicht einfach auf den für die XML-Serialisierung erforderlichen Namensraum verweisen, indem man eine Imports-Anweisung verwendet. Stattdessen muss man das Menü Project > Add Reference wählen, die Liste der Komponenten durchsuchen und System.Runtime.Serialization.Formatters.Soap zu dem Projekt hinzufügen. Danach erstellt man ein neues Windows-artiges Visual Basic .NET-Projekt und gibt den Code aus Listing A ein.

Wie man beim Ausführen des Beispielcodes sehen kann, wird die erste ArrayList im SOAP-Format in einer Datei auf der Festplatte gespeichert, dann werden eine neue ArrayList namens ReadBack deklariert und die Daten wieder zurück in dieses neue Array eingelesen.

Nun kann man sich die SOAP-Datei auf der Festplatte anschauen. Diese ist sogar noch wortreicher, als man es üblicherweise von XML-Dateien gewohnt ist, weil sie noch zusätzliche SOAP-Metadaten enthält. Die ArrayList, wie sie in der SOAP-Datei gespeichert ist, findet sich in Listing B.

Die ArrayList ist eine proprietäre Microsoft-Struktur, von daher erfordert sie zusätzliche Anmerkungen und Referenzen, etwa xsd:anyType[16]. Hätte man ein traditionelles Array statt einer ArrayList serialisiert, wäre die Sache einfacher. Beispielsweise kann jedes Element einer ArrayList von einem unterschiedlichen Datentyp sein, so dass bei der Serialisierung der Datentyp jedes einzelnen Elements angegeben werden muss (xsi:type=“SOAP-ENC:string“). Im Gegensatz dazu kann ein traditionelles String-Array nur Strings enthalten, so dass die Serialisierung einfacher ist. Hier ein klassisches String-Array, wie es in einer SOAP-Datei gespeichert würde:


Themenseiten: Anwendungsentwicklung, Microsoft, Software

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

Artikel empfehlen:

Neueste Kommentare 

Noch keine Kommentare zu .NET SOAP in der Praxis

Kommentar hinzufügen

Schreibe einen Kommentar

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