suds_requests is a suds transport implemented with requests. This lets you use all of the goodness of requests (connection pooling, simple auth, etc.) along with the pain of soap.
Simple:
import suds.client
import suds_requests
c = suds.client.Client(
'http://wsdl_url',
transport=suds_requests.RequestsTransport()
)
Adding basic auth:
import requests
import suds.client
import suds_requests
session = requests.Session()
session.auth=('user', 'password')
c = suds.client.Client(
'http://wsdl_url',
transport=suds_requests.RequestsTransport(session)
)
Changing the connection pool size:
import requests
import requests.adapters
import suds.client
import suds_requests
session = requests.Session()
adapter = requests.adapters.HTTPAdapter(
pool_connections=1000,
pool_maxsize=1000,
)
session.mount('http://', adapter)
session.mount('https://', adapter)
c = suds.client.Client(
'http://wsdl_url',
transport=suds_requests.RequestsTransport(session)
)