Share via


Procedure: Een object serialiseren als een SOAP-gecodeerde XML-stream

Omdat een SOAP-bericht is gebouwd met XML, kan de XmlSerializer klasse worden gebruikt om klassen te serialiseren en gecodeerde SOAP-berichten te genereren. De resulterende XML voldoet aan sectie 5 van het World Wide Web Consortium-document "Simple Object Access Protocol (SOAP) 1.1". Wanneer u een XML-webservice maakt die via SOAP-berichten communiceert, kunt u de XML-stroom aanpassen door een set speciale SOAP-kenmerken toe te passen op klassen en leden van klassen. Zie Kenmerken die gecodeerde SOAP-serialisatie beheren voor een lijst met kenmerken.

Een object serialiseren als een DOOR SOAP gecodeerde XML-stroom

  1. Maak de klasse met behulp van het XML Schema Definition Tool (Xsd.exe).

  2. Pas een of meer van de speciale kenmerken toe die in System.Xml.Serialization. Zie de lijst in Kenmerken die gecodeerde SOAP-serialisatie beheren.

  3. XmlTypeMapping Maak een door een nieuwe SoapReflectionImportermethode te maken en de ImportTypeMapping methode aan te roepen met het type geserialiseerde klasse.

    In het volgende codevoorbeeld wordt de ImportTypeMapping methode van de SoapReflectionImporter klasse aangeroepen om een XmlTypeMapping.

    ' 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. Maak een exemplaar van de XmlSerializer klasse door de XmlTypeMapping aan de XmlSerializer(XmlTypeMapping) constructor door te geven.

    Dim mySerializer As XmlSerializer = New XmlSerializer(myTypeMapping)  
    
    XmlSerializer mySerializer = new XmlSerializer(myTypeMapping);  
    
  5. Roep de Serialize of Deserialize methode aan.

Voorbeeld

' 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);  

Zie ook