Конвертировать из suds в zeep используя Python3

У меня есть следующее suds код, который работает отлично:

from suds.client import Client
def bronto_data(self, page_num):
    self.bApi = Client(self.BRONTO_WSDL)
    session_id = self.bApi.service.login(self.TOKEN)
    session_header = self.bApi.factory.create("sessionHeader")
    filter_type = self.bApi.factory.create("filterType")
    self.contact_filter = self.bApi.factory.create("contactFilter")
    session_header.sessionId = session_id
    self.bApi.set_options(soapheaders=session_header)
    self.contact_filter.listId.append(contacts_list_id)
    self.contact_filter.type = filter_type.AND
    return self.bApi.service.readContacts(self.contact_filter, False, [], page_num)

Так как suds устарела, я хочу преобразовать в zeep, Я написал следующий код:

from zeep import Client, helpers
def bornto_data(self, page_num,):
    self.bApi = Client(self.BRONTO_WSDL)
    session_id = self.bApi.service.login(self.TOKEN)
    session_header = self.bApi.type_factory("sessionHeader")
    filter_type = self.bApi.type_factory("filterType")
    self.contact_filter = self.bApi.type_factory("contactFilter")
    session_header.sessionId = session_id
    self.bApi.set_options(soapheaders=session_header)
    self.contact_filter.listId.append(contacts_list_id)
    self.contact_filter.type = filter_type.AND
    return self.bApi.service.readContacts(self.contact_filter, False, [], page_num)

Однако это дает:

ValueError: No such prefix 'sessionHeader'

В чем проблема?

0 ответов

Другие вопросы по тегам