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.

Artigos relacionados