Configure o proxy do Suds antes de ele carregar o WSDL
Forneça o mapeamento de proxy do Suds ao criar o cliente SOAP e considere o manipulador urllib explícito do transporte.
Passe a rota ao construtor do cliente suds-community quando o carregamento do WSDL precisar dela:
from suds.client import Client
client = Client(
'https://service.example/soap?wsdl',
proxy={
'http': 'http://proxy.example:8080',
'https': 'http://proxy.example:8080',
},
)As chaves do mapeamento são esquemas de destino; ambos podem apontar para o mesmo intermediário HTTP. Para um teste SOAP público que permita um intermediário público sem autenticação, use candidatos da lista de proxies HTTP para esses endereços de proxy HTTP. Importações e esquemas WSDL também podem ser obtidos durante a construção. Um set_options posterior pode afetar o trabalho seguinte, mas não conserta um construtor que já falhou.
O transporte mantido constrói um ProxyHandler urllib explícito a partir do seu mapeamento. Um mapeamento vazio é diferente da descoberta padrão de proxy, portanto um ambiente exportado que funciona num pequeno programa urllib não precisa controlar o Suds.
Use o mapeamento para uma rota fixa. Para uma política de sistema dependente do destino, escolha uma integração de transporte que a preserve deliberadamente. Substituir cada manipulador por uma lista vazia pode perder comportamento de autenticação especializado.
Um opener personalizado fornecido deve carregar ele mesmo a rota pretendida. Instalar um opener global não substitui um opener privado existente; configure o transporte que este cliente SOAP realmente usa.