Я не вижу структуру Header
в вашем xml и не могу проверить предоставленный вами WSDL, но вам может потребоваться передать значения login
и password
в _soapheaders()
kwarg в вашем сервисном звонке:
# soap_call.py
from pprint import pprint
from zeep import Client
CODE = '1'
LOGIN = 'PARSEC'
PASSWORD = 'pass'
client = Client(
'http://192.168.66.2:10101/IntegrationService/IntegrationService.asmx?wsdl',
strict=False
)
authHeaderRef = client.get_type('<namespace>:AuthorizationHeader')
authHeaderVals = authHeaderRef(login=LOGIN, password=PASSWORD)
result = client.service.SendHardwareCommand(
_soapheaders={AuthorizationHeader=authHeaderVals},
SendHardwareCommandRequest={'code': CODE, 'MessageType': 0})
pprint(result)
Подробнее о _soapheaders
здесь .