我有一个关于 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 样式?哪一个是正确的?