TypeError in der SOAP-Anfrage (mit pysimplesoap)

9

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:

%Vor%

Soweit ich weiß, bedeutet dies, dass das IMKAD_Perceel -Tag vom simplexml-Parser was (ich vermute) ist, weil es die Definition dieses Tags in der WDSL-Datei nicht lesen konnte.

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:

%Vor%

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!

    
kramer65 15.05.2015, 11:25
quelle

1 Antwort

1

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.

    
skyline75489 19.05.2015, 09:57
quelle

Tags und Links