Аргумент Zeep Operations - PullRequest
       21

Аргумент Zeep Operations

0 голосов
/ 11 ноября 2018

Я пытаюсь взаимодействовать с ресурсом WSDL XML. Я запускаю «python -mzeep wsdl» из командной строки и получаю список операций в отношении этого ресурса.

Операция

Login(Username: xsd:string, Password: xsd:string, TenantID: xsd:string) -> xsd:string

Logout(SessionID: xsd:string) 

Query(body: ns0:_____Query, header:ns0:Auth, _soapheaders={header:ns0:Auth}) -> Code: xsd:String, Records: ns0: ___Records, Slice: ns0: ___SliceResult

При использовании Python 2.7 у меня возникают проблемы при вызове операции запроса. Следующий код успешно выполняется, вызывая операцию входа в систему.

from zeep import Client, Settings

wsdl = 'wsdl_resource'
settings = Settings(strict=False)
client = Client(wsdl=wsdl, settings=settings)

client.service.Login(Username='user_name', Password='pass_word)

Следующие работы обеспечивают следующий вывод уникальным 'session_id'. В строковом формате.

Тем не менее, при попытке использовать оператор запроса:

 client.service.Query( , , ,) 

У меня проблемы с передачей ожидаемых аргументов и получением следующих записей.

Если я попробую следующее:

client.service.Query(body=' __Query', header='Auth')

Я получаю следующий ответ:

 {
 'Code': None,
 'Records': None,
 'Slice': None,
 '_raw_elements': deque()
 } 

Ясно, что ресурс существует, однако возникают проблемы с получением записей. Я предполагаю, что это связано с тем, что не переданы правильные аргументы в client.service.Query (,,).

Кто-нибудь имеет опыт работы с Zeep? Может ли кто-то пролить свет на понимание параметров, передаваемых в Операцию запроса?

...