Freigeben über


Gewusst wie: Serialisieren eines Objekts als SOAP-codierter XML-Stream

Codebeispiel

Da eine SOAP-Nachricht mithilfe von XML erstellt wird, kann die XmlSerializer-Klasse zum Serialisieren von Klassen und zum Generieren von codierten SOAP-Nachrichten verwendet werden. Der resultierende XML-Code entspricht Abschnitt 5 des vom World Wide Web Consortium (www.w3.org) herausgegebenen Dokuments "Simple Object Access Protocol (SOAP) 1.1". Wenn Sie einen XML-Webdienst erstellen, der über SOAP-Nachrichten kommuniziert, können Sie den XML-Stream anpassen, indem Sie eine Reihe von speziellen SOAP-Attributen auf Klassen und Member von Klassen anwenden. Eine Liste mit Attributen finden Sie unter Attribute zur Steuerung der Serialisierung von codiertem SOAP.

So serialisieren Sie ein Objekt als einen durch SOAP codierten XML-Stream

  1. Erstellen Sie die Klasse mit dem XML Schema Definition-Tool (Xsd.exe).

  2. Wenden Sie eines oder mehrere der speziellen Attribute aus System.Xml.Serialization an. Schlagen Sie hierzu in der Liste unter "Attribute für die Steuerung der Serialisierung von codiertem SOAP" nach.

  3. Erstellen Sie ein XmlTypeMapping-Objekt, indem Sie eine neue SoapReflectionImporter-Klasse erstellen und die ImportTypeMapping-Methode mit dem Typ der serialisierten Klasse aufrufen.

    Im folgenden Codebeispiel wird die ImportTypeMapping-Methode der SoapReflectionImporter-Klasse aufgerufen, um ein XmlTypeMapping-Objekt zu erstellen.

    ' Serializes a class named Group as a SOAP message.
    Dim myTypeMapping As XmlTypeMapping = (New SoapReflectionImporter(). _
    ImportTypeMapping(GetType(Group))
    
    // Serializes a class named Group as a SOAP message.
    XmlTypeMapping myTypeMapping = (new SoapReflectionImporter().
    ImportTypeMapping(typeof(Group));
    
  4. Erstellen Sie eine Instanz der XmlSerializer-Klasse, indem Sie das XmlTypeMapping-Objekt an den XmlSerializer-Konstruktor übergeben.

    Dim mySerializer As XmlSerializer = New XmlSerializer(myTypeMapping)
    
    XmlSerializer mySerializer = new XmlSerializer(myTypeMapping);
    
  5. Rufen Sie die Serialize-Methode oder Deserialize-Methode auf.

Beispiel

' Serializes a class named Group as a SOAP message.
Dim myTypeMapping As XmlTypeMapping = (New SoapReflectionImporter(). _
ImportTypeMapping(GetType(Group))
Dim mySerializer As XmlSerializer = New XmlSerializer(myTypeMapping)
// Serializes a class named Group as a SOAP message.
XmlTypeMapping myTypeMapping = (new SoapReflectionImporter().ImportTypeMapping(typeof(Group));
XmlSerializer mySerializer = new XmlSerializer(myTypeMapping);

Siehe auch

Aufgaben

Gewusst wie: Serialisieren eines Objekts
Gewusst wie: Deserialisieren eines Objekts
Gewusst wie: Überschreiben von codierter SOAP-XML-Serialisierung

Konzepte

Attribute zur Steuerung der Serialisierung von codiertem SOAP
XML-Serialisierung mit XML-Webdiensten

Weitere Ressourcen

XML- und SOAP-Serialisierung

Footer image

Copyright © 2007 by Microsoft Corporation. Alle Rechte vorbehalten.