Как сериализовать объект как поток XML с кодировкой SOAP
Пример кода
Поскольку сообщение SOAP построено с использованием XML, XmlSerializer можно использовать для сериализации классов и созданию сообщений с кодировкой SOAP. Полученный в результате XML соответствует разделу 5 документа "Simple Object Access Protocol (SOAP) 1.1", разработанного консорциумом World Wide Web (www.w3.org). При создании XML-веб-службы, которая осуществляет связь посредством сообщений SOAP, можно настроить поток XML, применив к классам и членам классов набор специальных атрибутов SOAP. Список атрибутов см. в разделе Атрибуты управления SOAP-сериализацией с кодировкой.
Чтобы сериализовать объект как поток XML с кодировкой SOAP
Создайте класс с помощью Инструмент определения схемы XML (Xsd.exe).
Примените один или несколько специальных атрибутов из System.Xml.Serialization. Список атрибутов см. в разделе "Атрибуты управления сериализацией с кодировкой SOAP".
Создайте XmlTypeMapping путем создания нового SoapReflectionImporter и вызова метода ImportTypeMapping с типом сериализуемого класса.
В следующем примере кода вызывается метод ImportTypeMapping класса SoapReflectionImporter для создания 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));
Создайте экземпляр класса XmlSerializer, передав XmlTypeMapping конструктору XmlSerializer.
Dim mySerializer As XmlSerializer = New XmlSerializer(myTypeMapping)
XmlSerializer mySerializer = new XmlSerializer(myTypeMapping);
Вызовите метод Serialize или Deserialize.
Примеры
' 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);
См. также
Задачи
Как сериализовать объект
Как десериализовать объект
Как переопределить XML-сериализацию с кодировкой SOAP
Основные понятия
Атрибуты управления SOAP-сериализацией с кодировкой
XML-сериализация с использованием XML-веб-служб
Другие ресурсы
Дата сборки: 2010-03-10