![]() |
|
Модераторы: gambit |
![]()
|
|
| namespace |
|
||||||||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 70 Регистрация: 4.7.2006 Репутация: нет Всего: нет |
коротко об инфраструктуре: ISA сервер с 3-я сетевухами (интернет, ДМЗ, внутренняя) в ДМЗ находится IIS 7
создан WCF сервис, который хостится в WPF приложении вот его конфиг:
сам сервис работает во внутренней сети (на ISA для него есть соответствующее правило публикации протокола веб сервера) есть тестовый консольный клиент вот его конфиг:
код его самый простой
в таком варианте все прекрасно работает. Никак не могу сообразить как сделать веб-клиента для сайта. Сайт ASP.NET расположенный в ДМЗ (работает), кликаю на проекте веб сайта в солюшн эксплорер ПКМ -> Add Web Reference, указываю http://r.t.ru/ добаляю ссылку RSReference на нужной странице:
получаю ошибку: Сбой запроса с состоянием HTTP 407: Proxy Authentication Required т.е. насколько я понимаю веб клиент запускается на веб сервере ? в ДМЗ (IIS 7) и пытается соеденится с сервисом по http://r.t.ru/ а ISA его посылает ?, я добавил на ISA правило разрешаюшее обращатся из ДМЗ в интернет по адресу http://r.t.ru/, но картина таже, т.е. надо еще этого клиента научить работать через ISA ? вот конфиг сайта
|
||||||||||
|
|||||||||||
| mihryak |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 731 Регистрация: 28.4.2007 Где: С-Пб Репутация: 3 Всего: 36 |
в клиентском binding'е попробуй изменить useDefaultWebProxy="false" на true
|
|||
|
||||
| namespace |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 70 Регистрация: 4.7.2006 Репутация: нет Всего: нет |
в консольном клиенте который работает стоит false т.к. установлен MSFirewall Client он сам все умеет делать (т.е. работают все проги без указания прокси), а вот веб клиенту тоже надо так сделать, а я незнаю куда воткнуть в файл web.config сайта?
Это сообщение отредактировал(а) namespace - 6.10.2009, 15:54 |
|||
|
||||
| mihryak |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 731 Регистрация: 28.4.2007 Где: С-Пб Репутация: 3 Всего: 36 |
невнимательно прочитал
получается, что студия не может создать для себя mex-клиента, чтобы сгенерировать классы для сервиса попробуй тогда выставить в web.config'е сайта в ноде configuration, по-моему, студия будет использовать конфиг проекта для генерации
если не поможет, попробуй ещё на самом сервисе настроить специальный binding для mex, у которого будет useDefaultWebProxy="true" Добавлено через 3 минуты и 14 секунд тут твоя проблема обсуждалась |
|||
|
||||
| namespace |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 70 Регистрация: 4.7.2006 Репутация: нет Всего: нет |
чудеса оставил на работе работающий сервис, прихожу домой создаю новый простейший веб сайт Add Service Reference ввожу адрес все Ок, запускаю сайт в студии все работает
а теперь я думаю что дело в том что сайт на работе при создании был указан 2.0 фреймворк, в общем там в контекстном меню в солюшн эксплорере нет пункта Add Service Reference, а есть лишь Add Web Reference и создается какой то другой клиент, т.к. в нем нет например метода .Close() |
|||
|
||||
| namespace |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 70 Регистрация: 4.7.2006 Репутация: нет Всего: нет |
на сегодняшний день имею следующее:
1. консольный клиент запущенный на веб сервере - работает, 2. веб клиент расположеный на этом же компьютере где работает консольный клиент - не работает 3. при работе консольного клиента я в логах ISA вижу всю активность, однако когда работает веб клиент, то от сервера (на котором работает IIS7) нет исходящих запросов на http://r.t.ru/ есть ошибки в логах сервера: Последовательность событий: 20 Появление события: 1 Код подробностей события: 0 Сведения о приложении: Домен приложения: /LM/W3SVC/2/ROOT-1-128994687308225155 Уровень доверия: Full Виртуальный путь к приложению: / Путь к приложению: C:\www.t.ru\ Имя компьютера: DUB Сведения о процессе: Идентификатор процесса: 2928 Имя процесса: w3wp.exe Имя учетной записи: NT AUTHORITY\NETWORK SERVICE Сведения об исключении: Тип исключения: EndpointNotFoundException Сообщение об исключении: Прослушивание на http://r.t.ru/ не выполняла ни одна конечная точка, которая могла бы принять сообщение. Среди прочих причин это могло быть вызвано неправильным адресом или действием SOAP. Подробнее см. в описании InnerException (если имеется). Сведения о запросе: URL запроса: http://www.t.ru/RS.aspx Путь запроса: /RS.aspx Адрес узла пользователя: 192.168.1.1 Пользователь: Проверка подлинности: False Тип проверки подлинности: Имя учетной записи потока: NT AUTHORITY\NETWORK SERVICE Сведения о потоке: Идентификатор потока: 6 Имя учетной записи потока: NT AUTHORITY\NETWORK SERVICE Выполняется олицетворение: False Трассировка стека: в System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg) в System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type) в RSReference.IRS.WriteClient(String lastName, String firstName, String middleName, String seriesDoc, String numberDoc) в RSReference.RSClient.WriteClient(String lastName, String firstName, String middleName, String seriesDoc, String numberDoc) в RS.ButtonRSWrite_Click(Object sender, EventArgs e) в System.Web.UI.WebControls.Button.OnClick(EventArgs e) в System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) в System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) в System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) однако адрес http://r.t.ru/ пингуется, открывается стандартная страница о том что служба создана... я не понимаю как возникает EndpointNotFoundException когда я могу открыть данный юрл или консольный клиент с этой же машины прекрасно работает? и как IIS7 определяет недоступность конечной точки, когда даже не отправляет запрос на подключение (по логам ISA сервера)? Это сообщение отредактировал(а) namespace - 8.10.2009, 13:09 |
|||
|
||||
| namespace |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 70 Регистрация: 4.7.2006 Репутация: нет Всего: нет |
проблема найдена Network Service, а именно от его имени работают пулы приложений IIS7 не имеет доступа к интернету, соответственно когда я для пула ставлю пользователя, например, Администратор, то все работает, но безопасность...
в общем ищу решение... |
|||
|
||||
| namespace |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 70 Регистрация: 4.7.2006 Репутация: нет Всего: нет |
может кто-нибудь уже сталкивался с такой проблемой? что такого противозаконного в соединении с удаленным WCF сервисом, что надо запускать пул от имени Администратора?
|
|||
|
||||
| namespace |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 70 Регистрация: 4.7.2006 Репутация: нет Всего: нет |
проблема решена!!! это ISA сервер мозги пудрил, удалил его клиент и в ручную настроил байдинг
...proxyAddress="http://gateway:8080" useDefaultWebProxy="false"... и все работает от стандартной Network Service |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, cully, mr.DUDA, Exception. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Распределённые приложения и сеть | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |