Procedimiento para serializar un objeto como secuencia XML con codificación SOAP
Dado que un mensaje SOAP se genera mediante XML, se puede usar la clase XmlSerializer para serializar las clases y generar mensajes SOAP codificados. El XML resultante se ajusta a la sección 5 del documento de World Wide Web Consortium, "Protocolo simple de acceso 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 más información, vea Atributos que controlan la serialización SOAP codificada.
Para serializar un objeto como secuencia XML con codificación SOAP
Cree la clase mediante la herramienta de definición de esquema XML (Xsd.exe).
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".Cree
XmlTypeMapping
creando un nuevoSoapReflectionImporter
e invocando el métodoImportTypeMapping
con el tipo de la clase serializada.En el ejemplo de código siguiente se llama al método
ImportTypeMapping
de la claseSoapReflectionImporter
para crearXmlTypeMapping
.' 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));
Cree una instancia de la clase
XmlSerializer
pasandoXmlTypeMapping
al constructor XmlSerializer(XmlTypeMapping).Dim mySerializer As XmlSerializer = New XmlSerializer(myTypeMapping)
XmlSerializer mySerializer = new XmlSerializer(myTypeMapping);
Llame al método
Serialize
oDeserialize
.
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);