Найти - Пользователи
Полная версия: Как правильно передать параметры в SOAP через zeep
Начало » Python для экспертов » Как правильно передать параметры в SOAP через zeep
1
metotron
Привет!
Судьба свела меня с SOAP и я попал.
Имеется библиотека zeep и необходимо отправить запрос на сервер.
Для этого написал:
 soap_client = Client(wsdl=wsdl)
response = soap_client.service[name](**kwargs)
где name - название сервиса (метода) которому я отправляю запрос и
**kwargs соответствнно аргументы

альтернативное написание будет
 soap_client = Client(wsdl=wsdl)
response = soap_client.service.ServiceName(param1=value1, param2=value2,...paramN=valueN)
все было хорошо до тех пор, пока не пришлось столкнуться с запросом, который в json выглядит примерно так:
 { "UserID": "user",
  "Password": "password",
  "CaseID": "",
  "Panels":
  { 
    "Panel":
     {"Code": "Ad Hoc",
       "PanelDescription": "",
       "Type": "Fluid",
       "SubstancesTested": [
       {
         "SubstanceName": "AAA",
         "SubstanceCode": "AAA",
         "SubstanceResult": "NEGATIVE"
         },
         {
         "SubstanceName": "BBB",
         "SubstanceCode": "BBB",
         "SubstanceResult": "NEGATIVE"
         }]
        }
}
И вот тут началась проблема
got an unexpected keyword argument 'Code'
При этом каждый запуск выдается новое название поля из тех, что внутри Panels. Я полагаю, что в аргумент Panels надо передать данные не как json, но вот как я не могу найти

Возможно кто-то из вас сталкивался с данным поведением и может подсказать куда “рыть” чтобы решить проблему
Спасибо
py.user.next
metotron
Судьба свела меня с SOAP и я попал.
Имеется библиотека zeep и необходимо отправить запрос на сервер.
Эта библиотека не работает. Она похожа на настоящую, но с ней ни один SOAP-запрос не разберёшь. Используй обычный lxml для прямой работы с XML.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB