How can I inspect what SUDs is generating/receivin

2019-03-16 06:23发布

问题:

This question is similar to this one:

How can I output what suds is generating/receiving?

The problem is that I am using the suds fork by Jurko and after version "0.4.1 jurko 5" the Client.last_sent(), Client.last_received() methods have been removed. So the question is how can we replace their functionality on new suds versions?

PS. I know that I can decrease the debugging level but I would like if possible to be able to inspect the input/output programmatically.

回答1:

You can use the MessagePlugin to do this

from suds.plugin import MessagePlugin

class LogPlugin(MessagePlugin):
  def sending(self, context):
    print(str(context.envelope))
  def received(self, context):
    print(str(context.reply))

client = Client("http://localhost/wsdl.wsdl", plugins=[LogPlugin()])


标签: python soap suds