Вопрос

Я потребляю веб-службу в приложении .NET с клиентом WCF.

Адрес EndPoint в сервисе превышает порт 4338, и он превышает https, закрепленный стандартом WS-Security.

Так что адрес - это что-то вроде:

https://[servername]:4338/[servicename]/

Я не смог общаться с сервисом только с запуском приложения. Это дало мне следующую ошибку:

Не удалось подключиться к [Servername]: 4338 код ошибки TCP 10060: попытка подключения не удалась, потому что подключенная сторона неправильно отвечала после периода времени, или установленное соединение не удалось, потому что подключенный хост не удалось ответить [ServerName]: 4338

Но когда я запускаю Siddler, чтобы исследовать HTTP-связи, приложение начинает работать, и я смогу общаться с обслуживанием.

Кроме того, я хочу добавить, что у меня есть другой сервис на одном веб-сервере, который проводит первую службу, и адрес того, что адрес второго сервиса размещен на порту 8080, и я могу взаимодействовать с ним с помощью WCF Client (без запуска Fiddler ).

Итак, я гуглами, и я обнаружил, что это может быть связано с настройками прокси. Знаете ли вы, в чем проблема, и как я могу это решить?

Спасибо

Это было полезно?

Решение

Если у вас есть прокси-сервер в Internet Explorer, это может вызвать проблему. Что происходит, когда вы открываете HTTPS: // [ServerName]: 4338 / [ServiceName] / В Internet Explorer?

Другие советы

Fiddler действует как интернет-прокси-сервер. В целом, любой симптом формы: «Работает, когда я использую Fiddler» означает «Это работает, когда есть (другой) прокси-сервер».

Проверьте настройки прокси-сервера. В частности, как предложил Empi, попробуйте в браузере. Если это работает там, это может быть связано с тем, что браузер имеет настройку параметров прокси, и что у вас нет их настроенных для WCF.

Спасибо Эмпи за ответ. Я нашел ответ. На самом деле в нашей компании у нас есть настройки прокси через «Автоматический скрипт конфигурации» и зависит от веб-сайтов, которые мы ориентируемся на внутренне, скрипт укажет нас к правильному прокси. Итак, из скрипта я получил правильный прокси-адрес. И в моем .NET приложение я добавил этот код WebRequest.defaultWebProxy = новый webproxy ("http: //xx.xx.xx.xx: 8080«); И это исправило проблему, настолько, что клиент WCF не обнаружил настройку автоматического скрипта. И это причина, по которой она сработала, когда я запускаю Fiddler, потому что Fiddler прослушивает HTTP Communication и отправляю его через настройки.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top