Подтвердить что ты не робот

Клиент 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 для аутентификации с помощью прокси. Но даже когда я устанавливаю клиент для этого, он, похоже, не помогает.

4b9b3361

Ответ 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 для аутентификации и позволят прокси-серверу получать доступ к интернет-сайтам. Эта настройка не работает хорошо для веб-служб, и я подозреваю, что это ваша проблема.