Форум сайта python.su
Имеются SOAP запросы такого вида:
<?xml version="1.0"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"> <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <NS1:GetVersion xmlns:NS1="urn:DCCIntf-IDCC"> <user></user> - имя пользователя <pass></pass> - пароль пользователя </NS1:GetVersion> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
Офлайн
Вроде разобрался, вот так реализовал:
import requests
url="IP-адрес"
#headers = {'content-type': 'application/soap+xml'}
headers = {'content-type': 'text/xml'}
body = """
<?xml version="1.0"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/">
<SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<NS1:GetVersion xmlns:NS1="urn:DCCIntf-IDCC">
<user></user>
<pass></pass>
</NS1:GetVersion>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
"""
response = requests.post(url,data=body,headers=headers)
print(response.content)
b'\xd0\x97\xd0\xb0\xd0\xbf\xd1\x80\xd0\xb0\xd1\x88\xd0\xb8\xd0\xb2\xd0\xb0\xd0\xb5\xd0\xbc\xd1\x8b\xd0\xb9 \xd1\x84\xd0\xb0\xd0\xb9\xd0\xbb "/" \xd0\xbd\xd0\xb5 \xd0\xbd\xd0\xb0\xd0\xb9\xd0\xb4\xd0\xb5\xd0\xbd \xd0\xbd\xd0\xb0 \xd1\x81\xd0\xb5\xd1\x80\xd0\xb2\xd0\xb5\xd1\x80\xd0\xb5.'
Офлайн
Разобрался, как с помощью SoapUI, отправить запрос…
Сервер все таки ответил
Но когда отправляю запрос с помощью Питона, в ответ получаю только список методов, как будто не какого запроса не отправляется, а просто перехожу на страницу “/wsdl”. Получается что код не работает
Офлайн
Разобрался, тема закрыта
Офлайн
anton666, пример покажешь ?
Офлайн
Отправил тебе в “личку”.
Офлайн
anton666Используйте библиотеку zeep.
Имеются SOAP запросы такого вида:
Офлайн