views:

32

answers:

1

I'm using Suds to send/receive SOAP messages in Python. It is taking an insanely long time to create an object to send via the soap envelope.

client = Client(wsdldict['Contact'], faults=True, headers=session) #takes ~5 seconds
lq1=client.factory.create("ns1:ListOfContactQuery") #takes ~130 seconds

The WSDL file is fairly large (1MB) but I do not know if that is the issue or not. Does Suds performance breakdown at a certain point?

Please see WSDL: http://myivyleaguer.com/media/ContactR17.wsdl.xml

+4  A: 

SUDS performance does breakdown on large WSDL files. I have experienced this same thing before with the Citrix NetScaler SOAP API.

If you are able to filter your WSDL into a subset of required commands, store the file on disk and load it locally, or make use of SUDS' caching functionality, you can dramatically increase this processing time when creating a new client.

jathanism
@jathanism BOOYAH! I was actually using an older version of Suds that didnt have cacheing yet. I upgraded and its a lot faster. thanks!
JiminyCricket
You're welcome. I've felt this pain before, so I'm glad I was able to alleviate the same for you.
jathanism