Python-SOAP-Client, WSDL-Aufruf mit Suds gibt Transportfehler 401 für HTTP-Standardauthentifizierung nicht autorisiert

9

Hintergrund

Ich baue einen SOAP-Client mit Python 2.7.3 und verwende die von Canonical zur Verfügung gestellte Bibliothek suds 0.4.1. Der Server verwendet die Standardauthentifizierung über HTTPS.

Problem

Die Authentifizierung auf dem Server kann nicht bestanden werden, auch nicht, um an die WSDL zu gelangen. Ich erhalte den folgenden Fehler:

  

suds.transport.TransportError: HTTP-Fehler 401: Nicht autorisiert

Versuche der Auflösung und des Codes

Ich habe beide Authentifizierungsmethoden ausprobiert, die in der Suddokumentation beschrieben sind, bekomme aber immer noch den obigen Fehler die client = Client(url, ...) -Zeile. Ich habe die Anmeldeinformationen und die Möglichkeit der Verbindung in einem Webbrowser bestätigt, was gut funktioniert.

Nachdem ich wsdl_url , username und password deklariert habe, habe ich versucht:

%Vor%

Letzteres scheint zumindest eine Antwort von der WSDL-URL in eine weitere Frage zur HTTP-Authentifizierung mit Schaum .

Weitere Hinweise

Diese Frage unterscheidet sich von dieser ähnlichen Frage Ich benutze:

%Vor%

und vom Traceback kommt der Aufruf client = Client(url, ...) eindeutig auf suds.transport.https.py:

%Vor%

Was vermisse ich?

    
Kenny Linsky 31.07.2012, 14:31
quelle

2 Antworten

11

suds hat den Autorisierungsheader nicht zur Anfrage hinzugefügt, also habe ich ihn manuell gesetzt:

%Vor%     
Kenny Linsky 28.08.2012, 16:00
quelle
0

Sie können SOAPpy

verwenden %Vor%     
Praney Mahajan 13.02.2014 18:55
quelle