Проблема подключения клиента WCF - PullRequest
0 голосов
/ 12 августа 2010

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

Адрес конечной точки сервиса через порт 4338 и через HTTPS, защищенный стандартом WS-Security.

Таким образом, адрес выглядит примерно так:

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

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

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

Но когда я запустил Fiddler для изучения http-связи, приложение начало работать, и я смогу связаться со службой.

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

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

Спасибо

Ответы [ 3 ]

1 голос
/ 12 августа 2010

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

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

0 голосов
/ 12 августа 2010

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

0 голосов
/ 12 августа 2010

Если у вас установлен прокси в Internet Explorer, это может вызвать проблему.Что происходит, когда вы открываете https://[servername]:4338/[servicename]/ в Internet Explorer?

...