Partager via


Comment : sérialiser un objet en tant que flux XML encodé selon le protocole SOAP

Exemple de code

Un message SOAP étant construit à l'aide de code XML, XmlSerializer peut être utilisé pour sérialiser des classes et générer des messages encodés selon le protocole SOAP. Le code XML obtenu 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 à l'aide de messages SOAP, vous pouvez personnaliser le flux de données XML en appliquant un ensemble d'attributs SOAP spéciaux aux classes et membres de classes. Pour obtenir une liste d'attributs, consultez Attributs qui contrôlent la sérialisation encodée selon le protocole SOAP.

Pour sérialiser un objet en tant que flux de données XML encodé selon le protocole SOAP

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

  2. Appliquez un ou plusieurs des attributs spéciaux se trouvant dans System.Xml.Serialization. Consultez la liste indiquée dans « Attributs qui contrôlent la sérialisation encodée selon le protocole SOAP ».

  3. Créez un XmlTypeMapping en créant un nouveau SoapReflectionImporter et en appelant la méthode ImportTypeMapping avec le 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 encodée selon le protocole SOAP

Concepts

Attributs qui contrôlent la sérialisation encodée selon le protocole SOAP
Sérialisation XML avec les services Web XML

Autres ressources

Sérialisation XML et SOAP

Date de génération : 2010-03-10