WCF和Python SUDS在继承方面的XML差异?

2024-09-29 22:26:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个关于WCF和sud(Python)之间表示继承的不同方式的问题。我有一个C++ /CLI WCF服务器(.NET 3.5 SP1),我正在尝试与它通信。我使用过C#(WCF也是)客户机,它工作得很好,但是使用SUDS客户机(python2.6.4,suds0.3.8)时会出现问题。这基本上是好的,但是对于继承的类型,区别似乎在于这两种类型在soapxml中表示继承的方式。当我查看服务器记录的消息时,我得到的结果与以下类似:

客户:

<ns:DerivedType>
...
</ns:DerivedType>

Python客户端:

^{pr2}$

是否可以更改WCF服务器以接受Python样式?或者更改Python SUDS客户端以发送WCF样式?哪一个是正确的?在


Tags: 服务器客户端类型客户机netcli方式样式
2条回答

您可以使用数据协定序列化程序来控制如何创建和读取xml。参见:http://msdn.microsoft.com/en-us/library/ms731073.aspx

不知道python端,但是WCF端有几个选项。更直接的方法是创建一个message inspector来检测并将python生成的soap转换为WCF服务更容易接受的soap。在

更困难但“更纯粹”的选项是确定如何塑造WCF服务生成的WSDL,以便它允许python客户机生成前面提到的可接受的soap。一旦找到了所需的调整,您将使用the MessageContract classes代替DataContract,使服务生成经过调整的WSDL。NET客户端应该毫无怨言地处理这个经过调整的WSDL。在

相关问题 更多 >

    热门问题