WCF BasicHttpBinding: ProxyAddress e UseDefaultWebProxy
Faça o endereço de proxy explícito do BasicHttpBinding e a seleção de proxy predefinida concordarem antes de alterar as credenciais de transporte.
Um cliente de serviço gerado pode ter tanto um ponto de extremidade de serviço quanto configurações de ligação relacionadas a proxy. Comece por identificar qual endereço pertence a qual função. O serviço SOAP continua sendo o destino; ProxyAddress nomeia um intermediário.
Para o BasicHttpBinding, UseDefaultWebProxy seleciona o comportamento de proxy configurado automaticamente e, por padrão, é true. O contrato da Microsoft não oferece suporte à combinação desse valor true com um ProxyAddress explícito não nulo. Torne a escolha coerente em vez de atribuir ambos e supor que um vence silenciosamente. Para um serviço SOAP acessível publicamente em uma rota de proxy pública não autenticada permitida, a lista de proxies HTTP fornece endereços candidatos para ProxyAddress; não retenha credenciais de proxy de outro ponto de extremidade.
Verifique a ligação que o ponto de extremidade realmente usa
Um auxiliar pode construir a ligação correta enquanto o cliente gerado ainda usa outro ponto de extremidade configurado. Inspecione a ligação atribuída à chamada que falha. Alterar uma entrada de configuração que o cliente nunca selecionou não pode afetar sua rota.
Depois, distinga o tipo de credencial de proxy do tipo de credencial de serviço. Uma senha exigida pelo serviço SOAP não é automaticamente uma conta para o intermediário de rede selecionado.
O modo de segurança de transporte é outra decisão. Mudar para um modo somente de credenciais apenas porque uma resposta antiga sugere isso altera as premissas de transporte; não prova que a rota ou a conta estejam corretas. Preserve o TLS de destino pretendido e use o arranjo de autenticação compatível com o cliente WCF implantado e com o proxy.
Um diagnóstico útil nomeia o ponto de extremidade do serviço, a origem de proxy selecionada, a instância de ligação e o primeiro estágio de resposta. Isso restringe um 407 sem transformar um cliente de serviço gerado em uma coleção de suposições de configuração sem relação.