Python-Suds0.4-SOAP主体复杂参数

Python-Suds0.4-SOAP主体复杂参数,python,soap,wsdl,suds,Python,Soap,Wsdl,Suds,我尝试通过SUDS0.4将python客户机连接到SOAP服务器。 通常,为了向SOAP函数提供复杂的参数,我使用python字典: 例如,如果SOAP参数如下所示: <parameterDesignatorValuePair> <parameterDesignator>Message</parameterDesignator> <parameterValue>AAAABgBDAG8AdQBjAG8AdQ==</parameterValue&

我尝试通过SUDS0.4将python客户机连接到SOAP服务器。 通常,为了向SOAP函数提供复杂的参数,我使用python字典: 例如,如果SOAP参数如下所示:

<parameterDesignatorValuePair>
<parameterDesignator>Message</parameterDesignator>
<parameterValue>AAAABgBDAG8AdQBjAG8AdQ==</parameterValue>
</parameterDesignatorValuePair>
result = client.service.myfunction(parameterDesignatorValuePair={'parameterDesignator':val1,'parameterValue':val2})
现在我尝试连接到一个我还没有编程的SOAP服务器,但我知道我请求的SOAP主体在现有java客户机中的外观:(部分感兴趣)

。。。
消息
AAAABgBDAG8AdQBjAG8AdQ==
发件人
aaaabwbsaguabghuababk
...
因此,我必须传递由两个名为“parameterDesignatorValuePairSet”的复杂参数组成的复杂参数“parameterDesignatorValuePairSet”:我无法使用python字典实现这一点:-(

我尝试使用列表和元组,但SUDS返回错误


感谢您的帮助

您是否尝试过这样做:

param = client.factory.create('ns1:parameterDesignatorValuePairNamespace')
param.parameterDesignator = val1
param.parameterValue = val2

client.service.FunctionName(param)
名称空间可以通过在SUDS连接后打印WSDL文件来使用

param = client.factory.create('ns1:parameterDesignatorValuePairNamespace')
param.parameterDesignator = val1
param.parameterValue = val2

client.service.FunctionName(param)