Freigeben über


Vorgehensweise: 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. Das resultierende XML entspricht Abschnitt 5 des Dokuments "Simple Object Access Protocol (SOAP) 1.1" des World Wide Web Consortium (www.w3.org). Wenn Sie einen XML-Webdienst erstellen, der durch SOAP-Meldungen kommuniziert, können Sie den XML-Datenstrom anpassen, indem Sie eine Gruppe spezieller SOAP-Attribute auf Klassen und Member von Klassen anwenden. Eine Liste der Attribute 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

Vorgehensweise: Serialisieren eines Objekts
Vorgehensweise: Deserialisieren eines Objekts
Vorgehensweise: Ü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

Erstellungsdatum: 2010-03-10