Share via


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 cumple con la sección 5 del documento del World Wide Web Consortium (www.w3.org) "Protocolo de acceso a objeto simple (SOAP) 1.1". Al crear un servicio web XML que se comunica mediante mensajes SOAP, puede personalizar la secuencia XML aplicando un conjunto de atributos SOAP especiales a las clases y los miembros de las 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 ImportTypeMappingde 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);

Consulte 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

Copyright © 2007 Microsoft Corporation. Reservados todos los derechos.