Zum ersten Mal mit SOAP, und ich habe mehrere Instanzen von ähnlichen Fehlermeldungen gefunden, aber nichts, das scheint für mich zu gelten.Python - SOAP-Server nicht erkannt Wert von HTTP-Header
Code ist in Python (3.5) geschrieben. Hier
ist das genaue Beispiel von der Seite Ich versuche, die Anfrage zu machen:
POST /WS/OpenAPI.asmx HTTP/1.1
Host: bms.kaseya.com
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "https://bms.kaseya.com/Authenticate"
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<Authenticate xmlns="https://bms.kaseya.com/">
<companyName>string</companyName>
<userName>string</userName>
<password>string</password>
</Authenticate>
</soap:Body>
</soap:Envelope>
ich Anfragen in Python bin mit und scheint alles mit ging gut zu sein:
import requests
companyName = 'My Company'
userName = 'My Username'
password = 'My Password'
url = 'https://bms.kaseya.com/WS/OpenAPI.asmx'
body = '''
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<Authenticate xmlns="https://bms.kaseya.com/">
<companyName>{}</companyName>
<userName>{}</userName>
<password>{}</password>
</Authenticate>
</soap:Body>
</soap:Envelope>'''.format(companyName,userName,password)
headers = {'Host':'bms.kaseya.com',
'Content-Type':'text/xml; charset=utf-8',
'Content-Length':str(len(body)),
'SOAPAction':'"https://bms.kaseya.com/Authenticate"'}
r = requests.post(url, data=body, headers=headers)
print(r.text)
Mit Ausnahme der Teil, wo ich bin immer:
<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><soap:Body><soap:Fault><faultcode>soap:Client</faultcode><faultstring>Server did not recognize the value of HTTP Header SOAPAction: https://bms.kaseya.com/Authenticate.</faultstring><detail /></soap:Fault></soap:Body></soap:Envelope>
Von dem, was ich gefunden habe, scheint es, dass die uRL o f die SOAPAction ist falsch ??? Ich nehme buchstäblich ihr Beispiel und füge nur meine Live-Informationen ein, ich habe keine Ahnung, wo ich falsch gelaufen bin, ob es überhaupt ich bin.