У меня возникла проблема с поиском правильного запроса на мыло с использованием SUDS. Для определенного XML-элемента, мне нужно указать атрибут с использованием пространства имен:Python SUDS - Невозможно создать правильный запрос SOAP
ns0:type
оригинальная спецификация:
(ParameterType){
Name =
(NameType){
value = None
_required = ""
}
Description = None
Value =
(ValueType){
Text = None
XmlDoc = None
_type = ""
}
}
Так я получаю этот XML:
<ns0:parameters>
<ns0:Input>
<ns0:Parameter>
<ns0:Name required="true">Param</ns0:Name>
<ns0:Value type="xs:Text">
<ns0:Text>1</ns0:Text>
</ns0:Value>
</ns0:Parameter>
</ns0:Input>
</ns0:parameters>
Что Мне нужно его получить:
<ns0:parameters>
<ns0:Input>
<ns0:Parameter>
<ns0:Name required="true">Param</ns0:Name>
<ns0:Value ns0:type="xs:Text">
<ns0:Text>1</ns0:Text>
</ns0:Value>
</ns0:Parameter>
</ns0:Input>
</ns0:parameters>
Я пробовал использовать плагины, но я думаю, что ему не нравится символ «:». Вот код:
class MyPlugin(MessagePlugin):
def marshalled(self, context):
foo = context.envelope.getChild('Body').getChild('ns0:executeProcess').getChild('ns0:parameters').getChild('ns0:Input').getChild('ns0:Parameter').getChild('ns0:Value')
foo.attributes.append(Attribute("ns0:type", "Text"))
Любые идеи о том, как я могу это достичь? Заранее спасибо.
Подробнее: пенообразование 0.4.1 - питон 2,4