Partager via


Comment : Sérialiser un objet en tant que flux XML codé en SOAP

Exemple de code

Comme un message SOAP est créé à l'aide de code XML, XmlSerializer peut être utilisé pour sérialiser des classes et générer des messages codés en SOAP. Le XML résultant est conforme à la section 5 du document du World Wide Web Consortium (www.w3.org) intitulé "Simple Object Access Protocol (SOAP) 1.1". Lorsque vous créez un service Web XML qui communique par l'intermédiaire de messages SOAP, vous pouvez personnaliser le flux XML en appliquant un ensemble d'attributs SOAP spéciaux aux classes et aux membres des classes. Pour obtenir une liste d'attributs, voir Attributs qui contrôlent la sérialisation codée en SOAP.

Pour sérialiser un objet en tant que flux XML codé en SOAP

  1. Créez la classe à l'aide de l'XML Schema Definition Tool (Xsd.exe).

  2. Appliquez un ou plusieurs des attributs spéciaux figurant dans System.Xml.Serialization. Consultez la liste dans "Attributs qui contrôlent la sérialisation codée en SOAP".

  3. Créez un XmlTypeMapping en créant un nouveau SoapReflectionImporter et en appelant la méthode ImportTypeMapping à l'aide du type de la classe sérialisée.

    L'exemple de code suivant appelle la méthode ImportTypeMapping de la classe SoapReflectionImporter pour créer 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. Créez une instance de la classe XmlSerializer en passant XmlTypeMapping au constructeur XmlSerializer.

    Dim mySerializer As XmlSerializer = New XmlSerializer(myTypeMapping)
    
    XmlSerializer mySerializer = new XmlSerializer(myTypeMapping);
    
  5. Appelez la méthode Serialize ou Deserialize.

Exemple

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

Voir aussi

Tâches

Comment : Sérialiser un objet
Comment : Désérialiser un objet
Comment : Substituer la sérialisation XML codée en SOAP

Concepts

Attributs qui contrôlent la sérialisation codée en SOAP
Sérialisation XML à l'aide des services Web XML

Autres ressources

Sérialisation XML et SOAP