Я использую suds-py3 для отправки запросов в службу со сложными аргументами, для которых требуются цифры и тексты.Вот код, который я пытаюсь:
from suds.client import Client
url = <service_url>
parameter = <service_method_parameter>
method = <service_method>
client = Client(url)
parameter_object = client.factory.create(str(parameter))
До этого я создал словарь значений, которые запрашивает служба, и выглядит так:
parameter_object = {
'codigoAmbiente': '',
'codigoModalidad': '',
'codigoPuntoVenta': '',
'codigoSistema': '',
'codigoSucursal': '',
'cuis': '',
'nit': ''
}
сделав запрос, я создаю другой словарь с необходимыми значениями:
request_dictionary = {
'codigoAmbiente': 2,
'codigoModalidad': 2,
'codigoPuntoVenta': 0,
'codigoSistema': 'AA5BB4CC3',
'codigoSucursal': 0,
'cuis': 'A1B2C3',
'nit': 12343456
}
Затем я отправляю значения в службу со следующим кодом.
for var, value in request_dictionary.items():
parameter_object[str(var)] = value
request_response = getattr(client.service, method)()
print(request_response)
Проблема заключается в том, что службаотправляет обратно ошибку из-за кавычек, не распознает их.Если я пытаюсь отправить словарь следующим образом:
request_dictionary = {
'codigoAmbiente': 2,
'codigoModalidad': 2,
'codigoPuntoVenta': 0,
'codigoSistema': AA5BB4CC3,
'codigoSucursal': 0,
'cuis': A1B2C3,
'nit': 12343456
}
Python выдает ошибку «NameError: AA5BB4CC3 не определено».Как должен выглядеть мой код, чтобы запрос к службе был таким, как задумано?