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:
Neueste Kommentare
Noch keine Kommentare zu .NET SOAP in der Praxis
Kommentar hinzufügenVielen Dank für Ihren Kommentar.
Ihr Kommentar wurde gespeichert und wartet auf Moderation.