Я пытаюсь подключить клиента Python - через SUDS0.4 - к серверу SOAP.
Обычно, чтобы предоставить сложный аргумент функции SOAP, я использую словарь Python:
Пример, если аргумент SOAP выглядит так:
<parameterDesignatorValuePair>
<parameterDesignator>Message</parameterDesignator>
<parameterValue>AAAABgBDAG8AdQBjAG8AdQ==</parameterValue>
</parameterDesignatorValuePair>
Мой код Python выглядит так:
result = client.service.myfunction(parameterDesignatorValuePair={'parameterDesignator':val1,'parameterValue':val2})
Теперь я пытаюсь подключиться к SOAP-серверу, который я не запрограммировал, но я знаю, как тело SOAP моего запроса должно выглядеть из существующего Java-клиента: (часть интереса)
...
<parameterDesignatorValuePairSet>
<parameterDesignatorValuePair>
<parameterDesignator>Message</parameterDesignator>
<parameterValue>AAAABgBDAG8AdQBjAG8AdQ==</parameterValue>
</parameterDesignatorValuePair>
<parameterDesignatorValuePair>
<parameterDesignator>Sender</parameterDesignator>
<parameterValue>AAAABwBSAGUAbgBhAHUAbABk</parameterValue>
</parameterDesignatorValuePair>
</parameterDesignatorValuePairSet>
...
Поэтому мне нужно передать сложный аргумент "parameterDesignatorValuePairSet", состоящий из двух комплексных аргументов, которые имеют одинаковое имя "parameterDesignatorValuePair": я не могу сделать это с помощью словаря Python: - (
Я пытался использовать list и tuple, но SUDS возвращает мне ошибки ...
Спасибо за помощь