Compartir a través de


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

Ejemplo de código

Dado que un mensaje SOAP está generado utilizando XML, XmlSerializer se puede utilizar para serializar las clases y generar los mensajes SOAP codificados. El XML resultante se ajusta a la sección 5 del documento del Consorcio WWC (www.w3.org), "Protocolo de acceso simple a objetos (SOAP) 1.1". Si está creando un servicio Web XML que se comunica a través de mensajes SOAP, puede personalizar la secuencia XML aplicando 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 Herramienta de definición de esquema XML (Xsd.exe).

  2. Aplique uno o más de los atributos especiales situados en System.Xml.Serialization. Vea la lista en "Atributos que controlan la serialización SOAP codificada".

  3. Cree XmlTypeMapping creando un nuevo SoapReflectionImportere invocando el método ImportTypeMapping con el tipo de la clase serializada.

    En el ejemplo de código siguiente llama el método ImportTypeMapping de la clase SoapReflectionImporter para crear 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));
    
  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: Invalidar la serialización XML SOAP codificada

Conceptos

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

Otros recursos

Serialización de SOAP y XML

Fecha de compilación: 2010-03-10