Я пытаюсь отправить запросы, передающие несколько идентификаторов, используя библиотеку zeep. Я попытался опубликовать решение здесь , но не смог заставить его работать.
Я могу заставить его работать нормально, если перебрать отдельные поисковые запросы, отформатированные в виде словаря:
option = {'stationID': '1:123456' }
data = client.service.getStationStatus(option)
Однако API также поддерживает список таких индексов (stationIDs
), заданный в виде массива. Мой вопрос заключается в том, как создать этот массив, когда идентификаторы все одинаковы. Я перепробовал много вариантов вложенных списков словарей и словарей списков. Я также попробовал подход с использованием client.get_type()
и добавление этих параметров. Опять же, это работает для отдельных идентификаторов, но я не могу получить массив, чтобы пойти. Возвращает только первое значение.
Желаемое SOAP, согласно задокументированному примеру:
<stationIDs>
<stationID>1:41613</stationID>
<stationID>1:39183</stationID>
<stationID>2:59173</stationID>
<stationID>4:39143</stationID>
</stationIDs>
Одна из моих попыток:
options = {'stationIDs' :
[{'stationID': '1:812581' },
{'stationID': '1:1762561'},
{'stationID': '1:114123' },
{'stationID': '1:1762571'} ]
}
Кто-нибудь может указать, какой из возможных форматов является правильным?