Compartir a través de


Cómo serializar un objeto como secuencia XML con codificación SOAP

Ejemplo de código

Como un mensaje SOAP se crea mediante XML, XmlSerializer puede utilizarse para serializar clases y generar mensajes SOAP codificados. El XML generado se ajusta a la sección 5 del documento del W3C (World Wide Web Consortium), en www.w3.org, titulado "Simple Object Access Protocol (SOAP) 1.1". Cuando crea un servicio Web XML que se comunica mediante mensajes SOAP, puede personalizar la secuencia XML si aplica un conjunto de atributos SOAP especiales a las clases y miembros de clases. Para obtener una lista de los atributos, vea Atributos que controlan la serialización SOAP codificada.

Para serializar un objeto como secuencia XML con codificación SOAP

  1. Cree la clase utilizando la XML Schema Definition Tool (Xsd.exe).

  2. Aplique uno o varios de los atributos especiales que se encuentran en System.Xml.Serialization. Vea la lista en "Atributos que controlan la serialización SOAP codificada".

  3. Cree XmlTypeMapping mediante la creación de una nueva clase SoapReflectionImporter y la invocación del método ImportTypeMapping con el tipo de clase serializada.

    El siguiente ejemplo de código llama al método ImportTypeMapping de la clase SoapReflectionImporter para crear 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. Cree una instancia de la clase XmlSerializer pasando XmlTypeMapping al constructor XmlSerializer.

    Dim mySerializer As XmlSerializer = New XmlSerializer(myTypeMapping)
    
    XmlSerializer mySerializer = new XmlSerializer(myTypeMapping);
    
  5. Llame al método Serialize o Deserialize.

Ejemplo

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

Vea también

Tareas

Cómo serializar un objeto
Cómo deserializar un objeto
Cómo reemplazar la serialización XML con codificación SOAP

Conceptos

Atributos que controlan la serialización SOAP codificada
Serialización XML con servicios Web XML

Otros recursos

Serialización XML y SOAP