Procedura: serializzare un oggetto come flusso XML con codifica SOAP
Dato che un messaggio SOAP viene creato con XML, è possibile usare XmlSerializer per serializzare le 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. 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 di attributi, vedere Attributi per il controllo della serializzazione SOAP codificata.
Per serializzare un oggetto come flusso XML con codifica SOAP
Creare la classe con lo strumento XML Schema Definition (Xsd.exe).
Applicare uno o più degli attributi speciali disponibili in
System.Xml.Serialization
. Consultare l'elenco "Attributi per il controllo della serializzazione SOAP codificata".Creare un
XmlTypeMapping
creando un nuovoSoapReflectionImporter
e richiamando il metodoImportTypeMapping
con il tipo della classe serializzata.L'esempio di codice seguente chiama il metodo
ImportTypeMapping
della classeSoapReflectionImporter
per creare unXmlTypeMapping
.' 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
passandoXmlTypeMapping
al costruttore XmlSerializer(XmlTypeMapping).Dim mySerializer As XmlSerializer = New XmlSerializer(myTypeMapping)
XmlSerializer mySerializer = new XmlSerializer(myTypeMapping);
Chiamare il metodo
Serialize
oDeserialize
.
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);