Procedura: Serializzare un oggetto come flusso XML con codifica SOAPHow to: Serialize an Object as a SOAP-Encoded XML Stream

Dato che un messaggio SOAP viene creato con XML, è possibile usare XmlSerializer per serializzare le classi e generare messaggi SOAP codificati.Because a SOAP message is built using XML, the XmlSerializer class can be used to serialize classes and generate encoded SOAP messages. L'elemento XML ottenuto risulta conforme alla sezione 5 del documento "Simple Object Access Protocol (SOAP) 1.1" del World Wide Web Consortium.The resulting XML conforms to section 5 of the World Wide Web Consortium document "Simple Object Access Protocol (SOAP) 1.1". 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.When you are creating an XML Web service that communicates through SOAP messages, you can customize the XML stream by applying a set of special SOAP attributes to classes and members of classes. Per un elenco di attributi, vedere Attributi per il controllo della serializzazione SOAP codificata.For a list of attributes, see Attributes That Control Encoded SOAP Serialization.

Per serializzare un oggetto come flusso XML con codifica SOAPTo serialize an object as a SOAP-encoded XML stream

  1. Creare la classe con lo strumento XML Schema Definition (Xsd.exe).Create the class using the XML Schema Definition Tool (Xsd.exe).

  2. Applicare uno o più degli attributi speciali disponibili in System.Xml.Serialization.Apply one or more of the special attributes found in System.Xml.Serialization. Consultare l'elenco "Attributi per il controllo della serializzazione SOAP codificata".See the list in "Attributes That Control Encoded SOAP Serialization."

  3. Creare un XmlTypeMapping creando un nuovo SoapReflectionImporter e richiamando il metodo ImportTypeMapping con il tipo della classe serializzata.Create an XmlTypeMapping by creating a new SoapReflectionImporter, and invoking the ImportTypeMapping method with the type of the serialized class.

    L'esempio di codice seguente chiama il metodo ImportTypeMapping della classe SoapReflectionImporter per creare un XmlTypeMapping.The following code example calls the ImportTypeMapping method of the SoapReflectionImporter class to create an 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(XmlTypeMapping).Create an instance of the XmlSerializer class by passing the XmlTypeMapping to the XmlSerializer(XmlTypeMapping) constructor.

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

EsempioExample

' 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 ancheSee also