Procedura: serializzare un oggetto come flusso XML con codifica SOAP
Esempio di codice
Poiché un messaggio SOAP viene generato mediante XML, XmlSerializer può essere utilizzato per serializzare classi e generare messaggi con codifica SOAP. L'XML ottenuto risulta conforme alla sezione 5 del documento "Simple Object Access Protocol (SOAP) 1.1" del World Wide Web Consortium (www.w3.org) (informazioni in lingua inglese). Quando si crea un servizio Web XML che comunica tramite messaggi SOAP, è possibile personalizzare il flusso XML applicando un gruppo di attributi SOAP speciali a classi e membri di classi. Per un elenco di attributi, vedere Attributi che controllano la serializzazione con codifica SOAP.
Per serializzare un oggetto come flusso XML con codifica SOAP
Creare la classe utilizzando lo XML Schema Definition Tool (Xsd.exe).
Applicare uno o più attributi speciali disponibili in System.Xml.Serialization. Vedere l'elenco in "Attributi che controllano la serializzazione con codifica SOAP".
Creare XmlTypeMapping tramite la creazione di una nuova SoapReflectionImporter e l'esecuzione della chiamata al metodo ImportTypeMapping con il tipo della classe serializzata.
Nell'esempio di codice seguente viene chiamato il metodo ImportTypeMapping della classe SoapReflectionImporter per creare 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));
Creare un'istanza della classe XmlSerializer passando XmlTypeMapping al costruttore XmlSerializer.
Dim mySerializer As XmlSerializer = New XmlSerializer(myTypeMapping)
XmlSerializer mySerializer = new XmlSerializer(myTypeMapping);
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 che controllano la serializzazione con codifica SOAP
Serializzazione XML mediante servizi Web XML