Клиент WCF с настройками прокси-сервера установлен на "Использовать автоматическую конфигурацию script"
В настоящее время я разрабатываю приложение, которое необходимо связываться с веб-сервисом в Интернете. Internet Explorer пока не знает единственное приложение, которое подключается к Интернету через прокси-сервер.
Настройки прокси настраиваются на "Использовать автоматическую конфигурацию script".
Я сохранил настройку по умолчанию
<binding useDefaultWebProxy="true" />
И дополнительно установите
<security mode="TransportCredentialOnly">
<transport clientCredentialType="Windows" proxyCredentialType="Basic"
realm="" />
<message clientCredentialType="UserName" algorithmSuite="Default" />
</security>
Но не повезло. Я продолжаю получать "(407) Требуется прокси-аутентификация."
Я сделал некоторое Google-ing, но решения, похоже, не соответствуют моей ситуации.
Короткое обновление:
Приложение должно работать со учетными данными пользователя по умолчанию и использовать эти учетные данные
через NTLM для аутентификации с помощью прокси. Но даже когда я устанавливаю клиент для этого, он, похоже, не помогает.
Ответы
Ответ 1
Сохраните параметр <binding useDefaultWebProxy="true" />
и убедитесь, что useDefaultCredentials
установлено значение true в вашем файле app.config(по умолчанию этот параметр равен false
).
<system.net>
<defaultProxy useDefaultCredentials="true"/>
</system.net>
Для получения дополнительной информации см. сообщение в блоге Использование HTTP-прокси-серверов.
Ответ 2
Я не могу дать вам никаких оснований о том, почему, но устанавливая:
<binding useDefaultWebProxy="false" />
Работает для меня в моей текущей среде при получении вашей точной ошибки.
Everyting в Windows, похоже, использует IE-настраиваемые параметры Интернета, которые включают прокси-сервер по умолчанию. Internet explorer исправляет это для вас аккуратно при запуске, но если вы попытаетесь восстановить службу wsdl или так с помощью Firefox, я предполагаю, что у вас будет приглашение для входа в систему.
В любом случае попробуйте установить false для прокси-сервера по умолчанию.
Ответ 3
Помните, что аутентификация Kerberos не очень хорошо работает в разных брандмауэрах. Многие организации настроили свой прокси-сервер для использования AD для аутентификации и позволят прокси-серверу получать доступ к интернет-сайтам. Эта настройка не работает хорошо для веб-служб, и я подозреваю, что это ваша проблема.