У меня есть вопрос, касающийся различных способов представления наследования между WCF и SUDS (Python). У меня есть C ++ / CLI WCF-сервер (.NET 3.5 SP1), и я пытаюсь с ним связаться. Я использовал клиент C # (также WCF), и он отлично работает, но есть проблемы при использовании клиента SUDS (Python 2.6.4, SUDS 0.3.8). Это в основном хорошо, но для унаследованных типов, и разница, похоже, заключается в том, как они представляют наследование в SOAP XML. Когда я просматриваю сообщения, которые регистрирует сервер, я получаю результаты, подобные следующим:
C # Клиент:
<ns:DerivedType>
...
</ns:DerivedType>
Клиент Python:
<ns:BaseType xsi:type="ns:DerivedType">
...
</ns:BaseType>
Можно ли изменить сервер WCF, чтобы он принимал стиль Python? Или изменить клиент Python SUDS для отправки стиля WCF? Какой из них правильный?