gpt4 book ai didi

python - WCF 和 Python SUDS 之间用于继承的 XML 差异?

转载 作者:太空狗 更新时间:2023-10-29 17:08:53 25 4
gpt4 key购买 nike

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

最佳答案

不知道 python 方面,但在 WCF 方面有几个选项。更直接的选择是创建一个 message inspector检测 python 生成的 soap 并将其转换为更适合 WCF 服务的内容。

更困难但“更纯粹”的选择是确定如何塑造 WCF 服务生成的 WSDL,以便它允许 python 客户端生成上述可口的 SOAP 。找到所需的调整后,您将使用 the MessageContract classes代替 DataContract 使服务产生调整后的 WSDL。 .NET 客户端应该毫无怨言地处理这个经过调整的 WSDL。

关于python - WCF 和 Python SUDS 之间用于继承的 XML 差异?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2334874/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com