конвертировать из suds в zeep используя Python3 - PullRequest
0 голосов
/ 21 ноября 2018

У меня есть следующий 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'

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

...