The server encountered an error processing the request see server logs for more details

Here's what I get when I turn on the Service behaviour.
  • Here’s what I get when I turn on the Service behaviour.

    The server encountered an error processing the request. The exception message is ‘Object reference not set to an instance of an object.’. See server logs for more details. The exception stack trace is:

    at System.Data.Services.Providers.ObjectContextServiceProvider.PopulateMemberMetadata(ResourceType resourceType, MetadataWorkspace workspace, IDictionary`2 entitySets, IDictionary`2 knownTypes) at System.Data.Services.Providers.ObjectContextServiceProvider.PopulateMetadata(IDictionary`2 knownTypes, IDictionary`2 entitySets) at System.Data.Services.Providers.BaseServiceProvider.PopulateMetadata() at System.Data.Services.DataService`1.CreateProvider(Type dataServiceType, Object dataSourceInstance, DataServiceConfiguration& configuration) at System.Data.Services.DataService`1.EnsureProviderAndConfigForRequest() at System.Data.Services.DataService`1.ProcessRequestForMessage(Stream messageBody) at SyncInvokeProcessRequestForMessage(Object , Object[] , Object[] ) at System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object instance, Object[] inputs, Object[]& outputs) at System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc& rpc) at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc& rpc) at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage4(MessageRpc& rpc) at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage3(MessageRpc& rpc) at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage2(MessageRpc& rpc) at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage1(MessageRpc& rpc) at System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)

    This is something that it doesn’t like in my Entity, but who knows what the heck it is?  I’ve queried everything manually in my test suite and it doesn’t error.

    This is what I’m talking about when I say that ADO.NET Entities et. al. are horrible for error reporting.

    Any suggestions on how I can actually figure out what is causing it other than trial and error?

    The initializeservice never gets called.

  • Содержание

    1. Ошибка 500 Internal Server Error: что это и как её исправить
    2. Ошибка 500 Internal Server Error — диагностика
    3. Ошибка 500 Internal Server Error — устранение на популярных платформах
    4. Ошибка 500 Internal Server Error — устранение на стороне серверных скриптов
    5. Попросите помощи у системного администратора
    6. Ошибку 500 Internal Server Error довольно легко устранить
    7. An error occurred while processing your request, что делать?
    8. Что такое An error occurred while processing your request
    9. Как исправить ошибку An error occurred
    10. Заключение
    11. The server encountered an error during processing
    12. Answered by:
    13. Question
    14. Answers
    15. The server encountered an error during processing
    16. Answered by:
    17. Question
    18. Answers

    Ошибка 500 Internal Server Error: что это и как её исправить

    Разработчики и люди, профессионально работающие с веб-приложениями, боятся 500 Internal Server Error . Оптимальный способ её устранения зависит от сервера и того, что на нём запущено. В данной статье приводятся советы по диагностике и исправлению ошибки 500 .

    Ошибка 500 Internal Server Error — диагностика

    Важно помнить, что эта ошибка происходит на стороне сервера. Это значит, что HTML-код , выполняемый на стороне клиента, а также JavaScript или любые другие запущенные в браузере объекты, не могут быть причиной, по которой возникает ошибка 500 Internal Server Error . Само название ( Internal Server Error – ‘внутренняя ошибка сервера’ ) говорит о том, что ошибка происходит на сервере.

    Ошибка 500 Internal Server Error — устранение на популярных платформах

    Многие пользователи устанавливают на свой сервер популярные CMS-системы , такие как WordPress , Joomla , Drupal и они не должны вызывать ошибку 500 , если всё настроено правильно. Однако она всё равно всплывает – из-за несовместимости версий, некачественных установок или сбоя прав доступа на сервере.

    Вот некоторые распространённые проблемы, которые могут вызывать подобную ошибку в часто используемых CMS :

    • Если вы только что обновили движок до новой версии, вероятно, обновление прошло с ошибками и необходимо провести его повторно. Скорее всего, на сайте разработчика есть инструкции, как это правильно сделать.
    • Если вы только что активировали новый плагин или новую тему, стоит попробовать отменить эти изменения. Даже профессионально написанные плагины могут конфликтовать с другими и вызывать 500 Internal Server Error nginx
    • Если вы обновляли CMS , старые плагины и темы могут быть с ней несовместимы. Единственное, что можно сделать в таком случае — отключать их по очереди, пока ошибка 500 не исчезнет.
    • Неправильно заданные права доступа на сервере или ошибки в файле .htaccess . Серверу не удаётся получить доступ к скриптам, файлам и другим ресурсам, поэтому он выдаёт ошибку.

    Когда причиной, по которой возникает ошибка 500 Internal Server Error являются скрипты и плагины, лучше всего искать ответы на сайтах их разработчиков.

    Ошибка 500 Internal Server Error — устранение на стороне серверных скриптов

    Другой причиной по которой может возникнуть ошибка 500 Internal Server Error может стать разработка и тестирование собственных скриптов.

    Чтобы справиться с такой ошибкой, попробуйте следующие решения :

    • Настройка прав на сервере : часто неверная настройка прав доступа к файлу или папке приводит к тому, что сервером выдаётся ошибка 500 Internal Server Error . Из-за того, что ему не удаётся запустить скрипт. Выясните, какие права должны быть настроены, и выставьте их соответствующим образом.
    • Превышено время ожидания : возможно, истекло время ожидания ответа от PHP или другого серверного скрипта. Это происходит из-за того, что недоступен определённый ресурс или коде была допущена ошибка, запускающая бесконечный цикл.
    • Превышено время ожидания соединения с сервером: если сервер был занят, перезагружался или потерял соединение, скрипт может выдать ошибку 500 Internal Server Error . Возможно, в следующий раз ошибки не будет. Но если ошибка появляется при тестировании, велика вероятность того, что она встретится и пользователям.
    • Ошибки в файле .htaccess: в некоторых случаях ошибку 500 может вызывать код, прописанный в файле .htaccess .
    • Ошибки в скрипте: если ошибку выдаёт скрипт, можете запросить у него подробную информацию об ошибке. К примеру, в PHP можно включить вывод ошибок на экран или в лог-файл, добавив директиву display_errors . По умолчанию среда выполнения может скрывать ошибки, но это не очень удобно для отладки программы.

    Попросите помощи у системного администратора

    В некоторых случаях у разработчиков нет полного контроля над сервером.

    Если скрипт запускается на сервере сторонней организации, она может помочь вам в следующем :

    • Предоставить документацию о своём сервере и возможных причинах ошибки 500 . В зависимости от используемой операционной системы и настройки оборудования, данная ошибка может возникать по разным причинам.
    • Попросите службу поддержки хостинга посмотреть лог-файлы с ошибками — системный администратор сможет определить, был ли сервер во время возникновения ошибки загружен или вовсе « упал ».

    Ошибку 500 Internal Server Error довольно легко устранить

    Ошибка 500 Internal Server Error — как исправить ? В большинстве случаев причины возникновения ошибки 500 легко исправляются. Проблема заключается в том, что без конкретной информации определение причины возникновения сбоя усложняется. Легче всего справиться с ошибкой, когда разработчик выяснит, что изменилось перед возникновением ошибки.

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

    Вадим Дворников автор-переводчик статьи « 500 Internal Server Error: What It Is And How To Fix It »

    Источник

    An error occurred while processing your request, что делать?

    Ряд пользователей браузеров при переходе на какой-либо сайт (наиболее часто данная проблема встречается на сайте Steam) могут столкнуться с ошибкой и соответствующим сообщением «An error occurred while processing your request». Обновление страницы проблемного сайта обычно ничего не даёт, пользователь сталкивается с упомянутой проблемой вновь и вновь. В этом материале я расскажу, что это за сообщение, при каких условиях появляется данная проблема, и как исправить её на вашем ПК.

    Что такое An error occurred while processing your request

    В переводе с английского языка текст данной ошибки звучит как «Произошла ошибка во время обработки вашего запроса». Как уже упоминалось выше, наиболее часто на возникновение данной ошибки жалуются пользователи Steam, которые при переходе на данный сайт встречают описанную дисфункцию.

    При этом данная ошибка может встречаться и на других ресурсах, и в абсолютном большинстве случаев имеет браузерную основу (пользователи различных онлайн-программ практически с ней не сталкиваются).

    Причины данной ошибки следующие:

    • Сбой или перегрузка сервера, обрабатывающего ваш запрос;
    • Случайный сбой вашего ПК;
    • Кэш вашего браузера повреждён;
    • Ошибка SSL-сертификата вашего браузера;
    • Проблемы с HTTPS-протоколом у ряда сайтов;
    • Проблема с HTTPS-расширениями вашего браузера (например, с «HTTPS Everywhere»).

    После определения причин дисфункции перейдём к описанию того, как избавиться от ошибки Sorry, an error occurred while processing your request.

    Как исправить ошибку An error occurred

    Итак, вы встретились с упомянутой проблемой и думаете, как её устранить. Рекомендую выполнить следующий ряд действий:

    1. Попробуйте просто перезагрузить свой компьютер. Это помогает чаще, чем может показаться;
    2. Немного подождите. Во многих случаях (особенно это касается пользователей Steam) сервера бывают перегружены или «упали», потому необходимо некоторое время для решения проблемы администрацией сервера. В подобных случаях нужно немного подождать (часто хватает и суток) чтобы проблема была решена;
    3. Очистите кэш и куки вашего браузера. К примеру, в браузере Мозилла это делается переходом в «Настройки», затем в закладку «Приватность», и кликом на «Удалить вашу недавнюю историю». В открывшимся окне «Удаление истории» в «Подробности» поставьте галочку на «Кэш» и удалите последний;

  • Попробуйте сменить ваш браузер, использовав альтернативный веб-обозреватель при осуществлении перехода на проблемный сайт;
  • Если вы не можете запустить игру Steam с браузера (через веб-лаунчер), попробуйте использовать находящийся на вашем ПК exe-файл данной игры для её запуска (сам файл часто находится в папке Steam);
  • Удалите SSL-сертификат проблемного сайт. Удаление SSL-сертификата проблемного сайта, по отзывам пользователей, может помочь в решении ошибки An error occurred while processing your request. Как удалить проблемный сертификат описано;
  • Попробуйте использовать не зашифрованную версию сайта (при возможности). Обычно адрес зашифрованного сайта начинается с http s . Попробуйте использовать тот же адрес, но с началом на http (без окончания s), это может помочь в вопросе как пофиксить ошибку An error occurred while processing your request;

  • Удалите (отключите) расширения браузера, принуждающие вебсайты работать только c HTTPS (например, уже упомянутое расширение «HTTPS Everywhere»);
  • Если данная ошибка возникла при работе с социальной сетью (например, с Фейсбук), попробуйте выйти из неё, а потом вновь выполнить вход;
  • Уведомьте администрацию проблемного ресурса о возникшей проблеме (обычно, хватает соответствующего письма в службу технической поддержки).
  • Заключение

    В данном материале мной была рассмотрена тема «An error occurred while processing your request, что делать», обозначены причины данной проблемы и намечены пути её решения. В большинстве случаев данная ошибка возникает из-за перегрузки или «падения» серверов, и от пользователя требуется немного подождать, дабы всё пришло в норму. В иных же случаях попробуйте выполнить очистку кэша вашего браузера, так как именно этот совет оказался весьма эффективным в решении данной проблемы на пользовательских ПК.

    Источник

    The server encountered an error during processing

    This forum is closed. Thank you for your contributions.

    Answered by:

    Question

    I’m getting this all of the time when I run my service.

    I’m running in Cassini (Vs.net 2008 developer server) and I don’t have a clue where the log files are or what’s causing this. I put a break point in my code and no joy. It was working and then it died when I made a change to my Entity set, but going backwards doesn’t fix it so I’m at a loss as to what’s going on.

    Answers

    Here’s what I get when I turn on the Service behaviour.

    The server encountered an error processing the request. The exception message is ‘Object reference not set to an instance of an object.’. See server logs for more details. The exception stack trace is:

    at System.Data.Services.Providers.ObjectContextServiceProvider.PopulateMemberMetadata(ResourceType resourceType, MetadataWorkspace workspace, IDictionary`2 entitySets, IDictionary`2 knownTypes) at System.Data.Services.Providers.ObjectContextServiceProvider.PopulateMetadata(IDictionary`2 knownTypes, IDictionary`2 entitySets) at System.Data.Services.Providers.BaseServiceProvider.PopulateMetadata() at System.Data.Services.DataService`1.CreateProvider(Type dataServiceType, Object dataSourceInstance, DataServiceConfiguration& configuration) at System.Data.Services.DataService`1.EnsureProviderAndConfigForRequest() at System.Data.Services.DataService`1.ProcessRequestForMessage(Stream messageBody) at SyncInvokeProcessRequestForMessage(Object , Object[] , Object[] ) at System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object instance, Object[] inputs, Object[]& outputs) at System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc& rpc) at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc& rpc) at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage4(MessageRpc& rpc) at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage3(MessageRpc& rpc) at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage2(MessageRpc& rpc) at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage1(MessageRpc& rpc) at System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)

    This is something that it doesn’t like in my Entity, but who knows what the heck it is? I’ve queried everything manually in my test suite and it doesn’t error.

    This is what I’m talking about when I say that ADO.NET Entities et. al. are horrible for error reporting.

    Any suggestions on how I can actually figure out what is causing it other than trial and error?

    Источник

    The server encountered an error during processing

    This forum has migrated to Microsoft Q&A. Visit Microsoft Q&A to post new questions.

    Answered by:

    Question

    I’m a young .net developer and very new to Sharepoint world and i’m trying to create Environment, and i got this message:

    The server encountered an error processing the request. See server logs for more details.’

    I’ve checked the logs and didn’t find something useful.

    What should I do?

    Thank you for your help, 🙂

    P.S I’m using web services.

    Answers

    Please check whether you added the following class level attribute to your Data Service class:

    [System.ServiceModel.ServiceBehavior(IncludeExceptionDetailInFaults = true)]

    If yes, please delete it and try again.

    There are other causes for this issue:
    1.A missing SetEntitySetAccessRule
    2.A missing pluralisation on the SetEntitySetAccessRule
    3.A missing SetServiceOperationAccessRule
    Please check them.

    Источник

    После установки четвёртого пакета обновлени (Update Rollup 4) внезапно перестали работать клиентские REST-запросы из форм действий: задач, эл. писем, кастомных действий. Каждый вызов REST заканчивался ошибкой Error: 400: Bad Request: «Сервер обнаружил ошибку при обработке запроса. Дополнительные сведения см. в журналах сервера.» (The server encountered an error processing the request. See server logs for more details.).

    Error: 400: Bad Request: The server encountered an error processing the request. See server logs for more details

    Пример запроса:

    http://server/contoso/XRMServices/2011/OrganizationData.svc/AccountSet(guid'3F54544D-0BD7-4FC2-B38E-1E6BC2785DF9')?$select=Address1_PostalCode,Address1_StateOrProvince,Address1_City,Address1_Line1
    

    Причём тот же самый запрос выполненный напрямую из адресной строки браузера отрабатывал успешно.

    Трассировка CRM показала наличие управляющих символов в теле запроса: «Указанное значение содержит недопустимые знаки управления. Имя параметра: value».

    at ServiceModelTraceRedirector.TraceData(TraceEventCache eventCache, String source, TraceEventType eventType, Int32 id, Object data)
    at TraceSource.TraceData(TraceEventType eventType, Int32 id, Object data)
    at DiagnosticTrace.TraceEvent(TraceEventType type, Int32 code, String msdnTraceCode, String description, TraceRecord trace, Exception exception, Object source)
    at ExceptionUtility.TraceHandledException(Exception exception, TraceEventType eventType)
    at MessageRpc.ProcessError(Exception e)
    at MessageRpc.Process(Boolean isOperationContextSet)
    at ChannelHandler.DispatchAndReleasePump(RequestContext request, Boolean cleanThread, OperationContext currentOperationContext)
    at ChannelHandler.HandleRequest(RequestContext request, OperationContext currentOperationContext)
    at ChannelHandler.AsyncMessagePump(IAsyncResult result)
    at AsyncThunk.UnhandledExceptionFrame(IAsyncResult result)
    at AsyncResult.Complete(Boolean completedSynchronously)
    at AsyncQueueReader.Set(Item item)
    at InputQueue`1.EnqueueAndDispatch(Item item, Boolean canDispatchOnThisThread)
    at InputQueue`1.EnqueueAndDispatch(T item, Action dequeuedCallback, Boolean canDispatchOnThisThread)
    at SingletonChannelAcceptor`3.Enqueue(QueueItemType item, Action dequeuedCallback, Boolean canDispatchOnThisThread)
    at HttpChannelListener.HttpContextReceived(HttpRequestContext context, Action callback)
    at HostedHttpTransportManager.HttpContextReceived(HostedHttpRequestAsyncResult result)
    at HostedHttpRequestAsyncResult.HandleRequest()
    at HostedHttpRequestAsyncResult.BeginRequest()
    at HostedHttpRequestAsyncResult.OnBeginRequest(Object state)
    at AspNetPartialTrustHelpers.PartialTrustInvoke(ContextCallback callback, Object state)
    at HostedHttpRequestAsyncResult.OnBeginRequestWithFlow(Object state)
    at ScheduledOverlapped.IOCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* nativeOverlapped)
    at IOCompletionThunk.UnhandledExceptionFrame(UInt32 error, UInt32 bytesRead, NativeOverlapped* nativeOverlapped)
    at _IOCompletionCallback.PerformIOCompletionCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* pOVERLAP)
    ><TraceRecord xmlns="http://schemas.microsoft.com/2004/10/E2ETraceEvent/TraceRecord" Severity="Error"><TraceIdentifier>http://msdn.microsoft.com/ru-RU/library/System.ServiceModel.Diagnostics....Обработка исключения.</Description><AppDomain>/LM/W3SVC/1/ROOT-1-116635956286758268</AppDomain><Exception><ExceptionType>System.ArgumentException, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</ExceptionType><Message>Указанное значение содержит недопустимые знаки управления.
    >Имя параметра: value</Message><StackTrace>   в System.Net.WebHeaderCollection.CheckBadChars(String name, Boolean isHeaderValue)
    >   в System.Net.WebHeaderCollection.Add(String name, String value)
    >   в System.Collections.Specialized.NameValueCollection.Add(NameValueCollection c)
    >   в System.ServiceModel.Activation.HostedHttpContext.HostedRequestContainer.System.ServiceModel.Channels.HttpRequestMessageProperty.IHttpHeaderProvider.CopyHeaders(WebHeaderCollection headers)
    >   в System.ServiceModel.Web.IncomingWebRequestContext.get_Accept()
    >   в System.Data.Services.DataServiceHostWrapper..ctor(IDataServiceHost host)
    >   в System.Data.Services.DataService`1.HandleRequest()
    >   в System.Data.Services.DataService`1.ProcessRequestForMessage(Stream messageBody)
    >   в SyncInvokeProcessRequestForMessage(Object , Object[] , Object[] )
    >   в System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object instance, Object[] inputs, Object[]&amp; outputs)
    >   в System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc&amp; rpc)
    >   в System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc&amp; rpc)
    >   в System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage31(MessageRpc&amp; rpc)
    >   в System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)</StackTrace><ExceptionString>System.ArgumentException: Указанное значение содержит недопустимые знаки управления.
    >Имя параметра: value
    >   в System.Net.WebHeaderCollection.CheckBadChars(String name, Boolean isHeaderValue)
    >   в System.Net.WebHeaderCollection.Add(String name, String value)
    >   в System.Collections.Specialized.NameValueCollection.Add(NameValueCollection c)
    >   в System.ServiceModel.Activation.HostedHttpContext.HostedRequestContainer.System.ServiceModel.Channels.HttpRequestMessageProperty.IHttpHeaderProvider.CopyHeaders(WebHeaderCollection headers)
    >   в System.ServiceModel.Web.IncomingWebRequestContext.get_Accept()
    >   в System.Data.Services.DataServiceHostWrapper..ctor(IDataServiceHost host)
    >   в System.Data.Services.DataService`1.HandleRequest()
    >   в System.Data.Services.DataService`1.ProcessRequestForMessage(Stream messageBody)
    >   в SyncInvokeProcessRequestForMessage(Object , Object[] , Object[] )
    >   в System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object instance, Object[] inputs, Object[]&amp; outputs)
    >   в System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc&amp; rpc)
    >   в System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc&amp; rpc)
    >   в System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage31(MessageRpc&amp; rpc)
    >   в System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)</ExceptionString></Exception></TraceRecord>
    

    Для разъяснениями обращаемся к Fiddler (Fiddler HTTP Debugging Proxy) и видим, что с каждым моим REST-запросом (вызываемым из javascript через XMLHttpRequest объект) отправляется HTTP-заголовок Referer, содержащий ссылку на текущую страницу (URL формы на которой исполняется скрипт).

    Fiddler View

    Обратите внимание, что в заголовке Referer присутствуют GET-параметры значения которых заданы кириллицей (параметры partyname и pName):

    http://server/contoso/userdefined/edit.aspx?contactInfo=&etc=4202&id=%7b...Фамилия%20Имя%20Отчество&partytype=2&pId=%7b05F1C96C-7CDE-DE11-A23B-003048712BF7%7d&pName=Фамилия%20Имя%20Отчество&pType=2&sitemappath=Workplace%7cSFA%7cnav_orders#
    

    Вот именно эти кириллические значения и ломают все REST-запросы! Эта догадка подтвердилась проверкой вызова скрипта для клиента с именем на латинице — запрос отработал успешно. Осталось избавиться от этого паразитного заголовка в нашем запросе. Самым простым решением кажется написание HTTP-модуля для IIS, который будет анализировать заголовки и кодировать кириллицу в HTML или обрубать эти значения (поскольку они никак не влияют на основной запрос).

    Как оказалось, существует гораздо более удобный способ для фильтрации заголовков в IIS — URL Rewrite Module Version 2.0 for IIS 7. Этот модуль расширяет возможности встроенного URL Rewrite модуля Internet Information Server’а версии 7+.

    Итак, скачиваем и устанавливаем URL Rewrite Module (внимание! потребуется перезагрузка сервера). И приступаем к созданию правила:

    IIS URL Rewrite Module Version 2.0

    Создаём правило для входящих запросов:

    URL Rewrite Inbound Rules

    Сначала задаём маску URL, для которого будет применятся правило (вместо contoso — имя вашей организации в CRM):

    New URL Rewrite Rule: Match URL RegEx

    Затем дополнительное условие на HTTP-заголовок Referer — обрабатываем только те запросы, в заголовке Referer которых присутствует кириллица:

    New URL Rewrite Rule: HTTP_REFERER Condition

    Для соответствующих правилу запросов заменяем значение HTTP-заголовка Referer (по-сути, конечной точке REST-сервиса он не нужен, поэтому оставляем только имя сервера):

    New URL Rewrite Rule: Replace Server Variables

    Теперь осталось разрешить серверу обрабатывать нужный нам заголовок, для чего добавляем его в разрешённые серверные переменные:

    IIS - URL Rewrite Module - View Server Variables

    IIS - URL Rewrite Module - Add Server Variables

    После активации этого правила клиентские REST-запросы с форм сущностей действий выполняются успешно.

    Замечено, что вызывая окно создания/редактирования действий разными путями (из меню «Добавить» основной записи, из меню «Добавить новый элемент типа Действие» связанного представления Действий) ошибка возникает только в первом случае. В предыдущей версии системы (CRM 2011 Rollup 1-3) русские имена записей кодировались для передачи в URL, четвёртый пакет исправлений сломал этот механизм, в пятом это так и не было исправлено.

    Дополнительно о модуле URL Rewrite 2.0 можно прочитать по этим ссылкам:

    • Using the URL Rewrite Module
    • Modifying HTTP Response Headers
    • Setting HTTP request headers and IIS server variables
    • Using Outbound Rules to add Web Analytics tracking code

    Posted by Keith Elder | Posted in .Net, C#, WCF | Posted on 09-03-2010


    I’ve done this twice now and I know if I’ve done it others probably have as well.  Here’s the short story and the fix.

    Let’s say you create a new project to play around with a WCF Data Service to create some OData.  You add an entity framework model from an existing database and then add a WCF Data Service.  Things are going along nicely.  To get something up and running quickly you modify the WCF Data Service to look like the following.  All looks good.

       1: namespace WcfService2
       2: {
       3:     public class WcfDataService1 : DataService<NutshellEntities>
       4:     {
       5:         // This method is called only once to initialize service-wide policies.
       6:         public static void InitializeService(DataServiceConfiguration config)
       7:         {
       8:             // TODO: set rules to indicate which entity sets and service operations are visible, updatable, etc.
       9:             // Examples:
      10:             // config.SetEntitySetAccessRule("MyEntityset", EntitySetRights.AllRead);
      11:             // config.SetServiceOperationAccessRule("MyServiceOperation", ServiceOperationRights.All);
      12:             config.DataServiceBehavior.MaxProtocolVersion = DataServiceProtocolVersion.V2;
      13:             config.SetEntitySetAccessRule("Customer", EntitySetRights.All);
      14:         }
      15:     }
      16: }

    Then you build your solution thinking you are about to strike gold when all of a sudden you are presented with this nasty unhelpful error:

    image

    Request Error

    The server encountered an error processing the request. See server logs for more details.

    The problem lies in line 13.  See the string?  Yeah, that’s a spot where we as humans have to type something and let’s face it, we make mistakes.  I’ve done this several times already.  To fix this, look at your model and make sure you have the correct name.  Here is my playground model:

    image

    Yep, it was suppose to be “Customers” instead of “Customer”. Change line 13 to “Customers” and all is well.

    Понравилась статья? Поделить с друзьями:
  • The security system detected an authentication error for the server ldap
  • The security settings could not be applied error number 1045 mysql
  • The secure gateway has terminated the vpn connection the following message internal error
  • The second enumeration port timeout как исправить
  • The search engine encountered the following error invalid or no response from elasticsearch перевод