Suds Performance - client.factory.create() takes more than 2 minutes
-
30-09-2019 - |
Question
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?
Solution
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.
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow