Я новичок в протоколе SOAP.Я использую библиотеку Python / Zeep.
Я пытаюсь использовать ее со старым проектом (начиная с 2012 года), возможно, с неактуальной версией SOAP, и получаю ошибку 403.
Я обнаружил, что это вызвано неправильный HTTP-заголовок, но я не вижу в документации, как обрабатывать его при создании объекта клиента:
SOAP-сообщение для веб-службы - код ответа HTTP: 403 для URL
Я получаю ошибку 403когда я создаю Клиент - поэтому я должен редактировать здесь Content-Type в HTTP Request.Есть аргумент для его обработки?
Мой код:
from requests import Session
from zeep import Client, Settings
from zeep.transports import Transport
class Api(object):
def __init__(self):
self.url = 'http://beta.api.biurowin.net/'
self.session = Session()
self.session.headers.update({
'Content-Type': 'application/soap+xml; charset=utf-8',
})
self.transport = Transport(session=self.session)
self.transport.load(self.url)
client = Client(transport=Transport)
Api()
Ошибка:
Traceback (most recent call last):
File "biurowin_api.py", line 20, in <module>
Api()
File "biurowin_api.py", line 15, in __init__
self.transport.load(self.url)
File "/home/patryk/workspace/.virtualenvs/peruccy/lib/python3.6/site-packages/zeep/transports.py", line 110, in load
content = self._load_remote_data(url)
File "/home/patryk/workspace/.virtualenvs/peruccy/lib/python3.6/site-packages/zeep/transports.py", line 127, in _load_remote_data
response.raise_for_status()
File "/home/patryk/workspace/.virtualenvs/peruccy/lib/python3.6/site-packages/requests/models.py", line 939, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 403 Client Error: Forbidden for url: http://beta.api.biurowin.net/