Frage

Ich rufe ein WSDL Web Service von Python mit SOAPpy . Der Anruf, den ich machen muß, ist das Verfahren Auth_login . Dies hat 2 Argumente - die erste, die einen String mit dem API-Schlüssel ist; der zweite, ein benutzerdefinierten Typ enthält, Benutzernamen und Passwort . Der benutzerdefinierte Typ wird Auth_credentialsData genannt, die 2 Werte als Stiche enthalten - ein für die Benutzername und einen für das Passwort. Wie kann ich diese benutzerdefinierten Typ mit SOAPpy erstellen? Ich habe versucht, eine Liste und ein Wörterbuch, von denen keine Arbeit übergeben.

-Code so weit:

from SOAPpy import WSDL

wsdlUrl = 'https://ws.pingdom.com/soap/PingdomAPI.wsdl'
client = WSDL.Proxy(wsdlUrl)

Versuchen beide:

credentials = ['email@example.com', 'password']
client.Auth_login('key', credentials)

und

credentials = {'username': 'email@example.com', 'password': 'passsword'}
client.Auth_login('key', credentials)

welche beide gibt einem Authentifizierungsfehler fehlgeschlagen.

War es hilfreich?

Lösung

Die bessere Methode ist es, das ZSI Seife Modul zu verwenden, die Sie eine Datei WDSL nehmen können und es in Klassen und Methoden, die Sie dann aufrufen können. Die Online-Dokumentation ist auf ihrer Website aber die neueste Dokumentation ist leichter in der Quelle gefunden Paket. Wenn Sie in Debian / Ubuntu (Paketnamen python-zsi) installieren Sie die Dokumentation in / usr / share / doc / python-ZSI in einem Paar von PDFs Sie dort finden können.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top