Мне нужно десериализовать XML-запрос SOAP в объект запроса .Net и сериализовать объект ответа .Net в XML-ответ SOAP. Мне нужно, чтобы это работало точно так же, как WCF, используя те же локальные имена элементов XML и URI пространства имен.
Классы запросов и ответов .Net были сгенерированы из WSDL с использованием SVCUTIL.
Я посмотрел на класс XmlSerializer, который делает большую часть этого, но не обращает внимания на определенные специфичные для WCF атрибуты, например MessageBodyMemberAttribute. Я также посмотрел на DataContractSerializer, но у него были чрезвычайно странные представления о том, какие имена элементов и пространства имен использовать. Наконец, я попробовал XmlSerializer с XmlTypeMapping, сгенерированным SoapReflectionImporter; похоже, он вообще не использует пространства имен.
Я скорее подозреваю, что мне нужно использовать один из вышеперечисленных методов, но с некоторой дополнительной тонкостью, о которой я не подозреваю. Но, может быть, есть совершенно другой подход?
Все предложения приветствуются.