Schreiben von python-client für SOAP mit Seifenlauge
Ich umwandeln möchten ein perl-SOAP-client in python SOAP-client.
Der perl-client initialisiert wird, wie
$url = 'https://host:port/cgi-devel/Service.cgi';
$uri = 'https://host/Service';
my $soap = SOAP::Lite
-> uri($uri)
-> proxy($url);
Habe ich versucht zu replizieren diese in python 2.4.2 mit Seifenlauge 0.3.6 tun
from suds.client import Client
url="https://host:port/cgi-devel/Service.cgi"
client=Client(url)
Jedoch beim ausführen dieses python Skript bekomme ich die Fehlermeldung
suds.transport.TransportError: HTTP Error 411: Length Required
Ist es, weil der https oder was könnte das problem sein?
Jede Hilfe wäre sehr geschätzt werden!
- Ich öffnete ein ticket zu dem Problem bei der waschlauge Webseite vor einiger Zeit (siehe fedorahosted.org/suds/ticket/259), bekam aber bisher keine Antwort. Da bin ich nicht mit SEIFE mehr in mein Projekt, die Frage ist obsolet geworden für mich.
Du musst angemeldet sein, um einen Kommentar abzugeben.
urllib2
Modul hinzufügen nicht-Inhalte-Länge (erforderlich für POST-Methode) header automatisch beim Request-Objekt konstruiert wird, manuell alssuds
tut. Sie haben den patch suds, wahrscheinlichsuds.transport.HttpTransport.open()
Methode odersuds.transport.Request
Klasse.Ich hatte den gleichen Fehler, dann eingeschaltet, um über eine lokale WSDL-Datei, dies funktioniert:
Sollten Sie bitten, diese in der waschlauge mailing-Liste. Diese Bibliothek ist in der Entwicklung, ist open source, und die Autoren sind sehr daran interessiert, feedback von den Nutzern.
Dein code sieht gut aus, das könnte ein Fehler im wsdl selbst oder des suds Bibliothek, daher habe ich Sie ermutigen, Fragen direkt an den Autor (nach Absprache mit anderen wsdls, dass Ihre installation korrekt ist).