Созданный клиент службы может иметь одновременно конечную точку службы и параметры привязки, связанные с прокси. Начните с определения того, какой адрес относится к какой роли. Служба SOAP остается пунктом назначения; ProxyAddress задает посредника.

Для BasicHttpBinding параметр UseDefaultWebProxy выбирает автоматически настроенное поведение прокси и по умолчанию равен true. Контракт Microsoft не поддерживает сочетание этого значения true с ненулевым явным ProxyAddress. Сделайте выбор непротиворечивым, вместо того чтобы задавать оба и предполагать, что один незаметно победит. Для общедоступной службы SOAP на разрешенном неаутентифицированном публичном маршруте прокси список HTTP-прокси предоставляет адреса-кандидаты для ProxyAddress; не сохраняйте учетные данные прокси от другой конечной точки.

Проверьте привязку, которую фактически использует конечная точка

Вспомогательный метод может построить правильную привязку, тогда как созданный клиент по-прежнему использует другую настроенную конечную точку. Проверьте привязку, назначенную неудачному вызову. Изменение записи конфигурации, которую клиент никогда не выбирал, не может повлиять на его маршрут.

Затем отличайте тип учетных данных прокси от типа учетных данных службы. Пароль, требуемый службой SOAP, не является автоматически учетной записью для выбранного сетевого посредника.

Режим безопасности транспорта — еще одно решение. Переход в режим только с учетными данными лишь потому, что старый ответ это предлагает, меняет предположения о транспорте; он не доказывает, что маршрут или учетная запись верны. Сохраните предполагаемый TLS пункта назначения и используйте схему проверки подлинности, поддерживаемую развернутым клиентом WCF и прокси.

Полезная диагностика указывает конечную точку службы, выбранный источник прокси, экземпляр привязки и первый этап ответа. Это сужает круг для ошибки 407, не превращая созданный клиент службы в набор несвязанных догадок о конфигурации.

Похожие статьи