Dela via


Anvisningar: Serialisera ett objekt som en SOAP-kodad XML-ström

Eftersom ett SOAP-meddelande skapas med XML XmlSerializer kan klassen användas för att serialisera klasser och generera kodade SOAP-meddelanden. Den resulterande XML-koden överensstämmer med avsnitt 5 i World Wide Web Consortium-dokumentet "Simple Object Access Protocol (SOAP) 1.1". När du skapar en XML-webbtjänst som kommunicerar via SOAP-meddelanden kan du anpassa XML-strömmen genom att använda en uppsättning särskilda SOAP-attribut för klasser och medlemmar i klasser. En lista över attribut finns i Attribut som styr kodad SOAP-serialisering.

Serialisera ett objekt som en SOAP-kodad XML-ström

  1. Skapa klassen med hjälp av XML-schemadefinitionsverktyget (Xsd.exe).

  2. Använd ett eller flera av de specialattribut som finns i System.Xml.Serialization. Se listan i "Attribut som styr kodad SOAP-serialisering".

  3. Skapa en XmlTypeMapping genom att skapa en ny SoapReflectionImporteroch anropa ImportTypeMapping metoden med den serialiserade klassens typ.

    I följande kodexempel anropas ImportTypeMapping -metoden för SoapReflectionImporter klassen för att skapa en 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. Skapa en instans av XmlSerializer klassen genom att skicka XmlTypeMapping till XmlSerializer(XmlTypeMapping) konstruktorn.

    Dim mySerializer As XmlSerializer = New XmlSerializer(myTypeMapping)  
    
    XmlSerializer mySerializer = new XmlSerializer(myTypeMapping);  
    
  5. Serialize Anropa metoden ellerDeserialize.

Exempel

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

Se även