У меня есть следующий 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'
В чем проблема?