2010-11-24 2 views
8

dump ich benutze Suds 0.4 und Python 2.6, um mit Remote-Server zu kommunizieren.Wie kann ich Roh-XML meiner Anfrage und Server-Antwort mit Suds in Python

Es ist WSDL lädt perfekt, aber jeder Funktionsaufruf gibt Fehler zurück. Etwas stimmt nicht mit diesem Server.

Jetzt muss ich eine Dump der Seifenstruktur, die an den Server gesendet wird und seine Antwort, in reiner Seife entweder.

Wie kann ich das tun?

Antwort

12

Wenn Sie die Protokollierung für suds.transport auf Debug setzen, erhalten Sie die gesendeten und empfangenen Nachrichten.

Für eine interaktive Sitzung, ich finde das ist gut:

import logging 
logging.basicConfig(level=logging.INFO) 
logging.getLogger('suds.client').setLevel(logging.DEBUG) 
logging.getLogger('suds.transport').setLevel(logging.DEBUG) 
logging.getLogger('suds.xsd.schema').setLevel(logging.DEBUG) 
logging.getLogger('suds.wsdl').setLevel(logging.DEBUG) 

from suds.client import Client 
s = Client('http://someservice?wsdl') 

Für speziell nur die gesendeten und empfangenen XML in eine Datei gesendet, werden Sie brauchen, um mit den Logging-Einstellungen zu spielen, siehe http://docs.python.org/library/logging.html

Verwandte Themen