Condividi tramite


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'elemento XML ottenuto risulta conforme alla sezione 5 del documento "Simple Object Access Protocol (SOAP) 1.1" del World Wide Web Consortium (www.w3.org). Quando si crea un servizio Web XML che comunica tramite messaggi SOAP, è possibile personalizzare il flusso XML applicando un set di attributi SOAP speciali a classi e membri di 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 XML Schema Definition (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

Data di compilazione: 2010-03-10