WSDL ਲੋਡ ਹੋਣ ਤੋਂ ਪਹਿਲਾਂ Suds ਪ੍ਰੌਕਸੀ ਕਨਫਿਗਰ ਕਰੋ
SOAP ਕਲਾਇੰਟ ਬਣਾਉਣ ਸਮੇਂ Suds ਦੀ ਪ੍ਰੌਕਸੀ ਮੈਪਿੰਗ ਦਿਓ ਅਤੇ ਟਰਾਂਸਪੋਰਟ ਦੇ ਸਪਸ਼ਟ urllib ਹੈਂਡਲਰ ਦਾ ਧਿਆਨ ਰੱਖੋ।
ਜਦੋਂ WSDL ਲੋਡ ਕਰਨ ਲਈ ਲੋੜ ਹੋਵੇ ਤਾਂ ਰੂਟ suds-community ਕਲਾਇੰਟ ਕੰਸਟ੍ਰਕਟਰ ਨੂੰ ਦਿਓ:
from suds.client import Client
client = Client(
'https://service.example/soap?wsdl',
proxy={
'http': 'http://proxy.example:8080',
'https': 'http://proxy.example:8080',
},
)ਮੈਪਿੰਗ ਦੀਆਂ ਕੁੰਜੀਆਂ ਮੰਜ਼ਿਲ ਸਕੀਮਾਂ ਹਨ; ਦੋਵੇਂ ਇੱਕੋ HTTP ਵਿਚੋਲੇ ਵੱਲ ਇਸ਼ਾਰਾ ਕਰ ਸਕਦੀਆਂ ਹਨ। ਬਿਨਾਂ ਪ੍ਰਮਾਣਿਕਤਾ ਵਾਲੇ ਜਨਤਕ ਵਿਚੋਲੇ ਦੀ ਆਗਿਆ ਦੇਣ ਵਾਲੇ ਜਨਤਕ SOAP ਟੈਸਟ ਲਈ, ਉਨ੍ਹਾਂ HTTP ਪ੍ਰੌਕਸੀ ਪਤਿਆਂ ਲਈ HTTP ਪ੍ਰੌਕਸੀ ਸੂਚੀ ਤੋਂ ਉਮੀਦਵਾਰ ਵਰਤੋ। WSDL ਆਯਾਤ ਅਤੇ ਸਕੀਮਾਂ ਵੀ ਨਿਰਮਾਣ ਦੌਰਾਨ ਲਿਆਂਦੀਆਂ ਜਾ ਸਕਦੀਆਂ ਹਨ। ਬਾਅਦ ਵਾਲਾ set_options ਅੱਗੇ ਦੇ ਕੰਮ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕਰ ਸਕਦਾ ਹੈ, ਪਰ ਪਹਿਲਾਂ ਹੀ ਫੇਲ੍ਹ ਹੋਏ ਕੰਸਟ੍ਰਕਟਰ ਦੀ ਮੁਰੰਮਤ ਨਹੀਂ ਕਰ ਸਕਦਾ।
ਸੰਭਾਲਿਆ ਗਿਆ ਟਰਾਂਸਪੋਰਟ ਆਪਣੀ ਮੈਪਿੰਗ ਤੋਂ ਸਪਸ਼ਟ urllib ProxyHandler ਬਣਾਉਂਦਾ ਹੈ। ਖਾਲੀ ਮੈਪਿੰਗ ਡਿਫਾਲਟ ਪ੍ਰੌਕਸੀ ਖੋਜ ਤੋਂ ਵੱਖਰੀ ਹੈ, ਇਸ ਲਈ ਛੋਟੇ urllib ਪਰੋਗਰਾਮ ਵਿੱਚ ਚੱਲਣ ਵਾਲੇ ਨਿਰਯਾਤ ਵਾਤਾਵਰਣ ਨੂੰ Suds ਨਿਯੰਤਰਿਤ ਕਰਨਾ ਜ਼ਰੂਰੀ ਨਹੀਂ।
ਸਥਿਰ ਰੂਟ ਲਈ ਮੈਪਿੰਗ ਵਰਤੋ। ਮੰਜ਼ਿਲ-ਨਿਰਭਰ ਸਿਸਟਮ ਨੀਤੀ ਲਈ, ਉਹ ਟਰਾਂਸਪੋਰਟ ਏਕੀਕਰਣ ਚੁਣੋ ਜੋ ਇਸਨੂੰ ਜਾਣਬੁੱਝ ਕੇ ਸੰਭਾਲਦਾ ਹੈ। ਹਰ ਹੈਂਡਲਰ ਨੂੰ ਖਾਲੀ ਸੂਚੀ ਨਾਲ ਬਦਲਣ 'ਤੇ ਵਿਸ਼ੇਸ਼ ਪ੍ਰਮਾਣਿਕਤਾ ਵਿਵਹਾਰ ਗੁਆਚ ਸਕਦਾ ਹੈ।
ਦਿੱਤਾ ਗਿਆ ਕਸਟਮ opener ਇੱਛਤ ਰੂਟ ਆਪ ਹੀ ਲੈ ਕੇ ਚੱਲਣਾ ਚਾਹੀਦਾ ਹੈ। ਗਲੋਬਲ opener ਸਥਾਪਤ ਕਰਨ ਨਾਲ ਮੌਜੂਦਾ ਨਿੱਜੀ opener ਨਹੀਂ ਬਦਲਦਾ; ਉਹ ਟਰਾਂਸਪੋਰਟ ਕਨਫਿਗਰ ਕਰੋ ਜੋ ਇਹ SOAP ਕਲਾਇੰਟ ਅਸਲ ਵਿੱਚ ਵਰਤਦਾ ਹੈ।