Share via


Procedura: Serializzare un oggetto come flusso XML con codifica SOAP

Esempio di codice

Poiché un messaggio SOAP viene compilato utilizzando XML, è possibile utilizzare XmlSerializer per serializzare classi e generare messaggi SOAP codificati. L'XML risultante è conforme alla sezione 5 del documento "Simple Object Access Protocol (SOAP) 1.1" del World Wide Web Consortium (www.w3.org). Quando viene creato un servizio Web XML che comunica tramite messaggi SOAP, è possibile personalizzare il flusso XML applicando un insieme di attributi speciali SOAP alle classi e ai membri delle classi. Per un elenco degli attributi, vedere Attributi per il controllo della serializzazione SOAP codificata.

Per serializzare un oggetto come flusso XML con codifica SOAP

  1. Creare la classe utilizzando Strumento di definizione di schemi XML (Xsd.exe).

  2. Applicare uno o più degli attributi speciali disponibili in System.Xml.Serialization. Consultare l'elenco "Attributi per il controllo della serializzazione SOAP codificata".

  3. Creare un XmlTypeMapping creando un nuovo SoapReflectionImporter e richiamando il metodo ImportTypeMapping con il tipo della classe serializzata.

    Nell'esempio di codice riportato di seguito viene chiamato il metodo ImportTypeMapping della classe SoapReflectionImporter per creare un 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. Creare un'istanza della classe XmlSerializer passando XmlTypeMapping al costruttore XmlSerializer.

    Dim mySerializer As XmlSerializer = New XmlSerializer(myTypeMapping)
    
    XmlSerializer mySerializer = new XmlSerializer(myTypeMapping);
    
  5. Chiamare il metodo Serialize o Deserialize.

Esempio

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

Vedere anche

Attività

Procedura: Serializzare un oggetto
Procedura: Deserializzare un oggetto
Procedura: Eseguire l'override della serializzazione XML con codifica SOAP

Concetti

Attributi per il controllo della serializzazione SOAP codificata
Serializzazione XML con Servizi Web XML

Altre risorse

Serializzazione SOAP e XML

Footer image

Copyright © 2007 Microsoft Corporation. Tutti i diritti riservati.