Python: Eine Anfrage mit Suds machen

8

Ich prüfe die SUDS-Bibliothek und versuche eine einfache Anfrage an einen Endpunkt zu stellen, aber ich bekomme eine ungewöhnliche Ausgabe. Warum?

%Vor%

Ausgabe:

%Vor%     
chuckfinley 08.12.2013, 00:03
quelle

4 Antworten

6

Sie können suds nicht für diesen Service verwenden, da es auf SOAP basiert, einem anderen Web-Service-Protokoll. Sie können eine XML-Anforderung senden und eine Antwort erhalten.

%Vor%

Wo das XML nach ihren Schemata definiert ist. Ссылка Dies ist ein Beispiel

%Vor%

<Class>CompanyDetails</Class> Welche Art von Informationen erhalten Sie? irgendwie was "Funktion" zu nennen

<Authentication>
<Method>CHMD5</Method>
<Value>e999e113407884fa410fa2f53bc23952</Value>
</Authentication>
</IDAuthentication>
Hier würden Sie die Login-Daten eingeben, die ich schätze

<CompanyDetailsRequest xmlns="http://xmlgw.companieshouse.gov.uk/v1-0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlgw.companieshouse.gov.uk/v1-0/schema/CoDets.xsd"> <CompanyNumber>01002361</CompanyNumber> <GiveMortTotals>1</GiveMortTotals> </CompanyDetailsRequest> Der Aufruf "Funktion" und seine Parameter

Jetzt wird mir eine Antwort geben, die mir sagt, dass die Autorisierung fehlgeschlagen ist. Wenn Sie also einen Account haben, sollte dies für Sie funktionieren.

Hier finden Sie die Liste der Schemas, die sie für verschiedene Arten von Anfragen haben. Einige von ihnen haben eine Musteranfrage, um Ihnen zu helfen. Ссылка

Hier ist der vollständige Leitfaden aller ihrer Systeme. Ссылка

    
M4rtini 12.12.2013, 23:56
quelle
2

Es gibt keine WSDL-Definitionen für diese Site. Versuchen Sie etwas wie Ссылка für Ihre URL dann kannst du sowas probieren client.service.GetWeatherInformation ()

Aus dem Suds-Dokument: "Sie müssen die URL für WSDL für jeden verwendeten Dienst kennen."

Ein explizites Beispiel

%Vor%

Gibt eine Tonne Daten aus.

    
Wyrmwood 10.12.2013 19:47
quelle
2

Suds macht es nicht einfach, den Dienst zu entdecken, es ist besser, zuerst ein bisschen mit soapui zu testen oder ein menschenlesbares Dokument der WSDL mit diesem xslt zu erstellen: Ссылка . Sie kennen also die Struktur von Anfragen und Antworten und welche Dienste verfügbar sind.

Anfragen und Antworten in Soap sind XML-Bäume. Sobald Sie das Ergebnis erhalten haben, müssen Sie auf den Inhalt des XML-Tags zugreifen, das die Informationen enthält, an denen Sie interessiert sind. Hier ist ein Beispiel, das funktionieren sollte t habe einen Benutzernamen, aber das result.Status.Success funktioniert).

%Vor%     
vincent 15.12.2013 22:10
quelle
1

Sie können keine Anfrage gegen .xsd stellen. XSD ist die Definition der ausgetauschten Nachricht. Sie müssen eine Anfrage gegen den Webservice stellen. Wenn Sie hier suchen, können Sie weitere Informationen über diesen Webservice finden. Aber es gibt auch eine Preisseite, die angibt, dass Sie zahlen müssen, um ihren Dienst zu nutzen. Wahrscheinlich, wenn Sie zahlen, erhalten Sie Benutzername und Passwort, um mit dem Service zu authentifizieren.

    
Saša Šijak 10.12.2013 10:53
quelle

Tags und Links