При включенной опции автоматического отслеживания писем из Outlook в CRM можно натолкнуться на ограничение размера отслеживаемого сообщения. Как правило, это выливается в множественные записи в Event Log на сервере CRM следующего содержания:
Event code: 3004
Event message: Размер переданного сообщения превысил допустимые пределы.
Event time: 01.04.2010 11:31:41
Event time (UTC): 01.04.2010 7:31:41
Event ID: 3d8e6db79e3c4e62b1979042fe4f277e
Event sequence: 1289
Event occurrence: 5
Event detail code: 0
Application information:
Application domain: /LM/W3SVC/1/ROOT-1-192541787253113666
Trust level: Full
Application Virtual Path: /
Application Path: C:\Program Files\Microsoft Dynamics CRM\CRMWeb\
Machine name: crmserver
Process information:
Process ID: 3400
Process name: w3wp.exe
Account name: NT AUTHORITY\NETWORK SERVICE
Exception information:
Exception type: HttpException
Exception message: Превышена максимальная длина запроса.
Request information:
Request URL: http://server/MSCRMServices/2007/CrmService.asmx
Request path: /MSCRMServices/2007/CrmService.asmx
User host address: 192.168.254.001
User: domain\username
Is authenticated: True
Authentication Type: Negotiate
Thread account name: NT AUTHORITY\NETWORK SERVICE
Thread information:
Thread ID: 9
Thread account name: NT AUTHORITY\NETWORK SERVICE
Is impersonating: True
Stack trace: в System.Web.HttpRequest.GetEntireRawContent()
в System.Web.HttpRequest.get_InputStream()
в Microsoft.Crm.WebServices.Crm2007.MultipleOrganizationSoapHeaderAuthenticationProvider.CreateAuthenticationToken(HttpApplication application)
в Microsoft.Crm.WebServices.SoapHeaderAuthenticationProviderBase.Authenticate(HttpApplication application)
в Microsoft.Crm.Authentication.AuthenticationStep.Authenticate(HttpApplication application)
в Microsoft.Crm.Authentication.AuthenticationPipeline.Authenticate(HttpApplication application)
в Microsoft.Crm.Authentication.AuthenticationEngine.Execute(Object sender, EventArgs e)
в System.Web.HttpApplication.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
в System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
Одним из способов исправления данной ситуации является увеличение допустимого размера сообщения:

Очевидно, что не стоит захламлять базу данных несжатыми сканами или другими внушительного размера файлами. Для устранения ошибки с синхронизацией объёмного сообщения, можно просто удалить это письмо в Outlook. Но что делать, если переписку, всё-таки, необходимо сохранить? Как устранить ошибку отслеживания (а сообщение об этой ошибке будет появляться в Event Log'е с завидной периодичностью)?
Предлагаю следующий недокументированный, но очевидный способ:
- Находим в Outlook виновника ошибки - письмо с большим вложенным файлом.
- Открывем его и жмём кнопку "Отслеживать в CRM".
- Получаем ошибку о невозможности операции (размер превышает допустимое значение), но кнопка "Отслеживать в CRM" остаётся нажатой (так она выглядит для отслеживаемых писем).

- Отжимаем кнопку "Отслеживать в CRM", повторно видим ошибку о невозможности отслеживания письма (пусть вас не пугает текст сообщения - проблема в размере вложения).
- Всё, письмо остаётся в Outlook, причём Outlook Client для CRM перестаёт его "проталкивать" в CRM - ошибка на сервере пропадает.
Добавить комментарий