Всем привет. Недавно мне дали ссылку на api которая использует soap. Для меня это совсем новое, никогда ничего подобного не делал. Погуглив, я нашел библиотеку zeep.
После подключение в консоле я прописал
python -mzeep 'my link'
пример того что вывело:
ns0:AccountInfo(number: xsd:string, secret: xsd:string, country: xsd:string, language: xsd:string, behalfOf: xsd:string)
getVersionInfo(accountInfo: ns0:AccountInfo) -> responseStatus: ns0:ResponseStatus, data: {country: xsd:string, build: xsd:string, date: xsd:dateTime, licensed: xsd:boolean}[]
Затем я написал код на питоне
def get(self, request, *args, **kwargs):
client = Client("link")
account = client.get_type("ns0:AccountInfo")
account_info = account(number="111111", secret="123123123123", country="ua", language="en")
response = client.service.getVersionInfo(accountInfo=account_info)
print(response)
return HttpResponse('Hello, World!')
Но у меня ошибка
Exception Value:
A request was found for which no data versions could be retrieved.
Затем я попробовал отправить запрос через клиент, вот ответ
<?xml version='1.0' encoding='UTF-8'?>
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<S:Fault xmlns:ns4="http://www.w3.org/2003/05/soap-envelope">
<faultcode>S:Server</faultcode>
<faultstring>A request was found for which no data versions could be retrieved.</faultstring>
<detail>
<ns2:exception xmlns:ns2="http://jax-ws.dev.java.net/" class="java.lang.NullPointerException" note="To disable this feature, set com.sun.xml.ws.fault.SOAPFaultBuilder.disableCaptureStackTrace system property to false">
<message>A request was found for which no data versions could be retrieved.</message>
<ns2:stackTrace>
Что я не так делаю?