AXForum  
Вернуться   AXForum > Microsoft Dynamics CRM > Dynamics CRM: Разработка
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 23.09.2009, 14:31   #1  
Camena is offline
Camena
Участник
 
111 / 10 (1) +
Регистрация: 23.03.2009
Адрес: Москва
HttpRequestTimedOutWithoutDetail
Добрый день.

Возникла проблема с веб-сервисом, который имеет application часть. При продолжительной работе (длительности более 5 минут) приложение выдает сообщение с ошибкой HttpRequestTimedOutWithoutDetail (см. скриншот). При этом сам сервис не "вылетает", его запрос обрабатывается дальше и через несколько минут возвращает ответ OK, то есть по сути сама по себе процедура завершается корректно.
Но что делать с ошибкой time out?
Миниатюры
Нажмите на изображение для увеличения
Название: Ошибка.jpg
Просмотров: 391
Размер:	34.3 Кб
ID:	5163  
Старый 23.09.2009, 14:37   #2  
a33ik is offline
a33ik
Чайный пьяница
Аватар для a33ik
MCP
MCBMSS
Злыдни
Соотечественники
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,243 / 896 (36) +++++++
Регистрация: 02.07.2008
Адрес: Greenville, SC
Цитата:
Сообщение от Camena Посмотреть сообщение
Добрый день.

Возникла проблема с веб-сервисом, который имеет application часть. При продолжительной работе (длительности более 5 минут) приложение выдает сообщение с ошибкой HttpRequestTimedOutWithoutDetail (см. скриншот). При этом сам сервис не "вылетает", его запрос обрабатывается дальше и через несколько минут возвращает ответ OK, то есть по сути сама по себе процедура завершается корректно.
Но что делать с ошибкой time out?
Попробуйте асинхронный вызов.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
Старый 23.09.2009, 15:58   #3  
slivka_83 is offline
slivka_83
Консультант-джедай
Аватар для slivka_83
MCBMSS
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
1,683 / 374 (16) ++++++
Регистрация: 18.12.2008
Адрес: default city
А в web,config'e разве таймаут не прописывается?
__________________
Крокодил, крокожу и буду крокодить.
Человек человеку - волк , а зомби зомби - зомби.
Экстремал и буду экстремать!
Блога
Старый 23.09.2009, 17:13   #4  
Camena is offline
Camena
Участник
 
111 / 10 (1) +
Регистрация: 23.03.2009
Адрес: Москва
Цитата:
Сообщение от slivka_83 Посмотреть сообщение
А в web,config'e разве таймаут не прописывается?
Возможно и прописывается, но просморт конфига ничего не дал. Подскажите, какие параметры надо искать, либо наоборот прописать для увеличения значения time out?

Кстати обнаружилось, что существует какой-то ServiceReference.ClientConfig файл, в котором можно задать BasicHttpBinding.OpenTimeout и BasicHttpBinding.ReceiveTimout параметры, но только где этот файл искать и при каких обстоятельствах он генерится...

Последний раз редактировалось Camena; 23.09.2009 в 17:17.
Старый 23.09.2009, 17:28   #5  
a33ik is offline
a33ik
Чайный пьяница
Аватар для a33ik
MCP
MCBMSS
Злыдни
Соотечественники
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,243 / 896 (36) +++++++
Регистрация: 02.07.2008
Адрес: Greenville, SC
Цитата:
Сообщение от Camena Посмотреть сообщение
Возможно и прописывается, но просморт конфига ничего не дал. Подскажите, какие параметры надо искать, либо наоборот прописать для увеличения значения time out?

Кстати обнаружилось, что существует какой-то ServiceReference.ClientConfig файл, в котором можно задать BasicHttpBinding.OpenTimeout и BasicHttpBinding.ReceiveTimout параметры, но только где этот файл искать и при каких обстоятельствах он генерится...
Откройте веб конфиг CRM. Найдите в нём примерно такой кусок xml:

Код:
	<system.web>
		<httpRuntime executionTimeout="18000" maxRequestLength="8192" />
Значение 18000 аттрибута executionTimeout - это значение, выставленное у меня на тестовом сервере, а экспериментов над ним было немало, так что скорее всего это не то значение, которое установлено у Вас. Можете попробовать изменить это значение на большее. Правда не знаю поможет ли Вам это. На всякий случай выдержка из msdn по поводу этой настройки.

А вообще почему Вам не подходит асинхронный вызов?
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit

Последний раз редактировалось a33ik; 23.09.2009 в 17:30.
За это сообщение автора поблагодарили: Camena (1).
Старый 23.09.2009, 18:19   #6  
Camena is offline
Camena
Участник
 
111 / 10 (1) +
Регистрация: 23.03.2009
Адрес: Москва
Цитата:
Сообщение от a33ik Посмотреть сообщение
Откройте веб конфиг CRM. Найдите в нём примерно такой кусок xml:

Код:
	<system.web>
		<httpRuntime executionTimeout="18000" maxRequestLength="8192" />
Значение 18000 аттрибута executionTimeout - это значение, выставленное у меня на тестовом сервере, а экспериментов над ним было немало, так что скорее всего это не то значение, которое установлено у Вас. Можете попробовать изменить это значение на большее. Правда не знаю поможет ли Вам это. На всякий случай выдержка из msdn по поводу этой настройки.

А вообще почему Вам не подходит асинхронный вызов?
Спасибо за помощь! Строки у меня в конфиге такой нет - думаю, ничего страшного, если добавлю
На самом деле там все не так просто: сам сервис вызывается асинхронно, но в рамках его происходят многочисленные обработки данных и отправки запросов к платформе, которые уже организовать асинхронно не получится.
Старый 23.09.2009, 18:22   #7  
a33ik is offline
a33ik
Чайный пьяница
Аватар для a33ik
MCP
MCBMSS
Злыдни
Соотечественники
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,243 / 896 (36) +++++++
Регистрация: 02.07.2008
Адрес: Greenville, SC
Цитата:
Сообщение от Camena Посмотреть сообщение
Спасибо за помощь! Строки у меня в конфиге такой нет - думаю, ничего страшного, если добавлю
На самом деле там все не так просто: сам сервис вызывается асинхронно, но в рамках его происходят многочисленные обработки данных и отправки запросов к платформе, которые уже организовать асинхронно не получится.
Я говорю не о конфиге Вашего кастомного вебсервиса, а о конфиге всего CRM.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
Старый 23.09.2009, 19:04   #8  
slivka_83 is offline
slivka_83
Консультант-джедай
Аватар для slivka_83
MCBMSS
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
1,683 / 374 (16) ++++++
Регистрация: 18.12.2008
Адрес: default city
Вообщето там два таймаута

В начале в секции <system.web> атрибут <httpRuntime executionTimeout="300" maxRequestLength="8192"/>

В секции <location path="MSCRMServices"> <system.web> атрибут <httpRuntime maxRequestLength="8192"/>

Может и второй поможет

П.С. для дефолтного сайта конфиг расположен C:\inetpub\wwwroot\web.config (а для не дефолтного где-то в недрах папки инсталяции crm-сервера )
__________________
Крокодил, крокожу и буду крокодить.
Человек человеку - волк , а зомби зомби - зомби.
Экстремал и буду экстремать!
Блога
Старый 23.09.2009, 19:07   #9  
a33ik is offline
a33ik
Чайный пьяница
Аватар для a33ik
MCP
MCBMSS
Злыдни
Соотечественники
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,243 / 896 (36) +++++++
Регистрация: 02.07.2008
Адрес: Greenville, SC
Цитата:
Сообщение от slivka_83 Посмотреть сообщение
Вообщето там два таймаута

В секции <location path="MSCRMServices"> <system.web> атрибут <httpRuntime maxRequestLength="8192"/>

Может и второй поможет
Второй там не при чём, потому как он распрастраняется только над подкаталог MSCRMServices, а автором топика спрашивается про кастомный вебсервис разработанный под CRM (смотрим урлу в скриншоте).

FYI Вот что об этом пишется в MSDN.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit

Последний раз редактировалось a33ik; 23.09.2009 в 19:11.
Старый 24.09.2009, 10:04   #10  
Camena is offline
Camena
Участник
 
111 / 10 (1) +
Регистрация: 23.03.2009
Адрес: Москва
В общем, эксперименты с увеличением значения атрибута executionTimeout к решению проблемы не привели - появление мессаджа осталось. При каком-то значении сервис даже вообще перестал запускаться.

Последний раз редактировалось Camena; 24.09.2009 в 10:07.
Старый 24.09.2009, 11:26   #11  
a33ik is offline
a33ik
Чайный пьяница
Аватар для a33ik
MCP
MCBMSS
Злыдни
Соотечественники
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,243 / 896 (36) +++++++
Регистрация: 02.07.2008
Адрес: Greenville, SC
Цитата:
Сообщение от Camena Посмотреть сообщение
На самом деле там все не так просто: сам сервис вызывается асинхронно, но в рамках его происходят многочисленные обработки данных и отправки запросов к платформе, которые уже организовать асинхронно не получится.
Можете показать код вызова сервиса, если не секрет, конечно?
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
Старый 24.09.2009, 11:32   #12  
Camena is offline
Camena
Участник
 
111 / 10 (1) +
Регистрация: 23.03.2009
Адрес: Москва
Цитата:
Сообщение от a33ik Посмотреть сообщение
Можете показать код вызова сервиса, если не секрет, конечно?
Не секрет:

isvService.VerifyHCompleted += new EventHandler<VerifyHCompletedEventArgs>(isvService_VerifyHCompleted);
isvService.VerifyHAsync(HtmlPage.Document.QueryString["orgname"], HtmlPage.Document.QueryString["newuserid"], newdate.SelectedDate.Value, 0, 1, newdate.SelectedDate.Value, newdate.SelectedDate.Value);
Старый 24.09.2009, 11:49   #13  
Camena is offline
Camena
Участник
 
111 / 10 (1) +
Регистрация: 23.03.2009
Адрес: Москва
Все-таки очень интересует вопрос, почему даже при наличии ошибки о тай-ауте сервис продолжает работу и завершает ее с ответом OK (только пользователь, к сожалению, об этом не узнает)? Ошибка появляется ровно через 10 минут после запуска работы сервиса.
Старый 24.09.2009, 11:58   #14  
a33ik is offline
a33ik
Чайный пьяница
Аватар для a33ik
MCP
MCBMSS
Злыдни
Соотечественники
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,243 / 896 (36) +++++++
Регистрация: 02.07.2008
Адрес: Greenville, SC
Цитата:
Сообщение от Camena Посмотреть сообщение
Не секрет:

isvService.VerifyHCompleted += new EventHandler<VerifyHCompletedEventArgs>(isvService_VerifyHCompleted);
isvService.VerifyHAsync(HtmlPage.Document.QueryString["orgname"], HtmlPage.Document.QueryString["newuserid"], newdate.SelectedDate.Value, 0, 1, newdate.SelectedDate.Value, newdate.SelectedDate.Value);
Цитата:
Сообщение от Camena Посмотреть сообщение
Все-таки очень интересует вопрос, почему даже при наличии ошибки о тай-ауте сервис продолжает работу и завершает ее с ответом OK (только пользователь, к сожалению, об этом не узнает)? Ошибка появляется ровно через 10 минут после запуска работы сервиса.
Давайте проясним архитектуру Вашего решения - постараюсь смоделировать Вашу ситуацию. Как я вижу по написанному:
1. Есть кастомный вебсервис, который выполняетяет некие тяжёловесные операции (можно смоделировать простым ожиданием времени).
2. Есть кастомная веб страница с которой и выполняется вызов данного сервиса.

Вопрос, если всё так - каким образом выполняется вызов данной страницы? Она помещена в GUI CRM или вызывается при помощи AJAX?
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
Старый 24.09.2009, 12:15   #15  
Camena is offline
Camena
Участник
 
111 / 10 (1) +
Регистрация: 23.03.2009
Адрес: Москва
Цитата:
Сообщение от a33ik Посмотреть сообщение
Давайте проясним архитектуру Вашего решения - постараюсь смоделировать Вашу ситуацию. Как я вижу по написанному:
1. Есть кастомный вебсервис, который выполняетяет некие тяжёловесные операции (можно смоделировать простым ожиданием времени).
2. Есть кастомная веб страница с которой и выполняется вызов данного сервиса.

Вопрос, если всё так - каким образом выполняется вызов данной страницы? Она помещена в GUI CRM или вызывается при помощи AJAX?
Вызов данной страницы, точнее apllication части, происходит при нажатии кнопки на одной из форм системы. На логику события (в ISV.config) навешано открытие по URL диалогового окна программы, в которую с тем же урликом передаются некие входные параметры (AJAX).
Старый 24.09.2009, 12:25   #16  
a33ik is offline
a33ik
Чайный пьяница
Аватар для a33ik
MCP
MCBMSS
Злыдни
Соотечественники
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,243 / 896 (36) +++++++
Регистрация: 02.07.2008
Адрес: Greenville, SC
Цитата:
Сообщение от Camena Посмотреть сообщение
Вызов данной страницы, точнее apllication части, происходит при нажатии кнопки на одной из форм системы. На логику события (в ISV.config) навешано открытие по URL диалогового окна программы, в которую с тем же урликом передаются некие входные параметры (AJAX).
Понятно. Попробую у себя смоделировать.

Вопрос несколько другого рода - почему не используете у себя обращение к сервису используя SOAP и AJAX, а обращаетесь к дополнительной странице? В кодебихайнде страницы присутствует какая то дополнительная логика?
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
 


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 06:17.