Предоставление службы WCF клиенту asmx и клиенту WCF

У нас есть служба WCF, в которой есть операции, которые получают List объектов контракта данных в качестве своего параметра и возвращают List различных объектов контракта данных, например.

List<CheckOutResponse> ProcessCheckOut(List<CheckOutRequest> obj);

Эта служба в настоящее время используется клиентом WCF и отлично работает.

Теперь нам нужно предоставить ту же службу устаревшему приложению, основанному на .NET 1.1. Я понимаю изменения привязки, которые мне нужно внести в web.config службы, использую привязку basicHttp и устанавливаю правильное поведение службы и т. Д.

Моя проблема - это контракты на данные. Я считаю, что клиенты .NET 1.1 используют XMLSerializer, и это не может работать с контрактами данных.

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

Кто-нибудь придумал решение этой проблемы?


person Rob Bowman    schedule 22.12.2011    source источник
comment
Используйте basicHttpBinding для своих клиентов ASMX - в конечном итоге сообщения сериализуются в сообщения SOAP (XML) по сети, а клиент ASMX .NET 1.1 десериализует их с любыми доступными ему инструментами / алгоритмами / библиотеками (он не знает и не заботится, откуда пришло это сообщение SOAP)   -  person marc_s    schedule 22.12.2011


Ответы (1)


С сериализацией проблем быть не должно. Клиент .NET 1.1 просто увидит структуру, которая помещает значения в элементы, а не в атрибуты.

person John Saunders    schedule 22.12.2011