Сериализация и десериализация запросов и ответов точно так же, как это делает WCF - PullRequest
2 голосов
/ 21 декабря 2010

Мне нужно десериализовать XML-запрос SOAP в объект запроса .Net и сериализовать объект ответа .Net в XML-ответ SOAP. Мне нужно, чтобы это работало точно так же, как WCF, используя те же локальные имена элементов XML и URI пространства имен.

Классы запросов и ответов .Net были сгенерированы из WSDL с использованием SVCUTIL.

Я посмотрел на класс XmlSerializer, который делает большую часть этого, но не обращает внимания на определенные специфичные для WCF атрибуты, например MessageBodyMemberAttribute. Я также посмотрел на DataContractSerializer, но у него были чрезвычайно странные представления о том, какие имена элементов и пространства имен использовать. Наконец, я попробовал XmlSerializer с XmlTypeMapping, сгенерированным SoapReflectionImporter; похоже, он вообще не использует пространства имен.

Я скорее подозреваю, что мне нужно использовать один из вышеперечисленных методов, но с некоторой дополнительной тонкостью, о которой я не подозреваю. Но, может быть, есть совершенно другой подход?

Все предложения приветствуются.

1 Ответ

1 голос
/ 02 февраля 2011

Я озадачен, почему вы хотите это сделать. Вы можете уточнить?

Посмотрите на реализацию DataContractSerializerOperationFormatter и DataContractSerializerOperationBehavior через Reflector. Он фиксирует, как средства форматирования и сериализации сообщений взаимодействуют в WCF ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...