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.

Artigos relacionados