Ich versuche, relevante Informationen von einem SOAP-Dienst aus dem niederländischen Grundbuch zu bekommen ( WSDL hier ) mit PySimpleSoap . Bisher gelang es mir, Informationen über eine bestimmte Eigenschaft mit dem folgenden Code zu verbinden und anzufordern:
%Vor% Dieses "irgendwie" funktioniert. Ich habe trace=True
gesetzt, damit ich umfangreiche Log-Nachrichten bekomme, und in diesen Log-Nachrichten sehe ich eine riesige XML-Ausgabe ( hier einfügen ), die ziemlich viel ist enthält alle Informationen, die ich anfordere. ABER, ich bekomme auch diesen Traceback:
Soweit ich weiß, bedeutet dies, dass das IMKAD_Perceel
-Tag vom simplexml-Parser
Also habe ich die (enorme Menge an) Log-Nachrichten geprüft, indem ich die wsdl-Datei analysiert habe und diese Zeilen anzeigt:
%Vor% Ich denke, diese Zeilen bedeuten, dass die IMKAD_Perceel
-Definition leer ist. Also habe ich SoapUI benutzt, um die WSDL-Datei , in der ich eine URL zu dieser .xsd-Datei in der ich eine Definition von IMKAD_Perceel
finde:
Das Etikett scheint sich tatsächlich zu schließen, was bedeutet, dass es leer ist. Ist dies der Grund, dass pysimplesoap denkt, dass IMKAD_Perceel
nicht definiert ist? Warum kann das XML nicht einfach interpretiert und als dict zurückgegeben werden? (Wie bereits erwähnt, befindet sich die vollständige XML-Ausgabe, die ich erhalte, in diesem Einfügen ).
Weiß jemand, wie ich pysimplesoap interpretieren kann und das xml in ein dict umwandelt, egal, ob es sich an die wsdl hält?
Alle Tipps sind willkommen!
Es scheint, dass pysimplesoap
nicht in der Lage ist, mit substitutionGroup
im XML-Schema umzugehen.
Sie können das in der xsd-Datei sehen:
%Vor% Da ist substitutionGroup
, was bedeutet, dass IMKAD_Perceel
und IMKAD_OnroerendeZaak
die gleiche Sache ist und füreinander substituierbar ist.
Im Soap-Schema ist dieser bestimmte Teil der Antwort definiert als:
%Vor%Sie können jedoch die tatsächliche Antwort wie folgt sehen:
%Vor% Dann scheint pysimplesoap
verwirrt zu sein und den richtigen Antworttyp nicht zu erhalten.
Tags und Links python xml soap wsdl pysimplesoap