Foreversoft.ru

IT Справочник
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Создатель этой ошибки не указал reason

Создатель этой ошибки не указал reason

вчера устанавливали новую лицензию для Scom сервера и в процессе активации повисла консоль PowerShell. В результате — после рестарта сервера не возможно подключиться к серверу —

при открытии консоли выпадает ошибка «Не удалось подключиться к серверу «» Служба вызвала неизвестное исключение.

Далее содержание ошибки —

Дата: 27.03.2014 11:23:28
Приложение: Operations Manager
Версия приложения: 7.0.9538.1084
Серьезность: Ошибка
Сообщение: Не удалось подключиться к серверу «*******»

Microsoft.EnterpriseManagement.Common.UnknownServiceException: Служба вызвала неизвестное исключение. Дополнительные сведения см. во внутреннем исключении. —> System.ServiceModel.FaultException`1[System.UnauthorizedAccessException]: Создатель этой ошибки не указал Reason.

Server stack trace:
в System.ServiceModel.Channels.ServiceChannel.HandleReply(ProxyOperationRuntime operation, ProxyRpc& rpc)
в System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)
в System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)
в System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)

Exception rethrown at [0]:
в System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
в System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
в Microsoft.EnterpriseManagement.Common.Internal.IDispatcherService.Connect(SdkClientConnectionOptions connectionOptions)
в Microsoft.EnterpriseManagement.Common.Internal.SdkDataLayerProxyCore.Initialize(EnterpriseManagementConnectionSettings connectionSettings, SdkChannelObject`1 channelObjectDispatcherService)
в Microsoft.EnterpriseManagement.Common.Internal.SdkDataLayerProxyCore.CreateEndpoint[T](EnterpriseManagementConnectionSettings connectionSettings, SdkChannelObject`1 channelObjectDispatcherService)
— Конец трассировки внутреннего стека исключений —
в Microsoft.EnterpriseManagement.Common.Internal.ExceptionHandlers.HandleChannelExceptions(Exception ex)
в Microsoft.EnterpriseManagement.Common.Internal.SdkDataLayerProxyCore.CreateEndpoint[T](EnterpriseManagementConnectionSettings connectionSettings, SdkChannelObject`1 channelObjectDispatcherService)
в Microsoft.EnterpriseManagement.Common.Internal.SdkDataLayerProxyCore.ConstructEnterpriseManagementGroupInternal[T,P](EnterpriseManagementConnectionSettings connectionSettings, ClientDataAccessCore clientCallback)
в Microsoft.EnterpriseManagement.Common.Internal.SdkDataLayerProxyCore.RetrieveEnterpriseManagementGroupInternal[T,P](EnterpriseManagementConnectionSettings connectionSettings, ClientDataAccessCore callbackDispatcherService)
в Microsoft.EnterpriseManagement.Common.Internal.SdkDataLayerProxyCore.Connect[T,P](EnterpriseManagementConnectionSettings connectionSettings, ClientDataAccessCore callbackDispatcherService)
в Microsoft.EnterpriseManagement.ManagementGroup.InternalInitialize(EnterpriseManagementConnectionSettings connectionSettings, ManagementGroupInternal internals)
в Microsoft.EnterpriseManagement.Mom.Internal.UI.Common.ManagementGroupSessionManager.Connect(String server)
в Microsoft.EnterpriseManagement.Monitoring.Console.Internal.ConsoleWindowBase.TryConnectToManagementGroupJob(Object sender, ConsoleJobEventArgs args)
System.ServiceModel.FaultException`1[System.UnauthorizedAccessException]: Создатель этой ошибки не указал Reason. (Дополнительные сведения об ошибке — System.UnauthorizedAccessException: Истек период пробного использования этого продукта. Чтобы продолжить использование продукта, обновите его до полной версии. Сведения о приобретении полной версии продукта см. на странице http://go.microsoft.com/fwlink/?Link > в Microsoft.EnterpriseManagement.ServiceDataLayer.SessionManagerService.CheckLicence()
в Microsoft.EnterpriseManagement.ServiceDataLayer.SessionManagerService.Connect(SdkClientConnectionOptions options)
в Microsoft.EnterpriseManagement.ServiceDataLayer.BasicDispatcherService.Connect(SdkClientConnectionOptions connectionOptions)).

При попытке подключиться с консоли:

Как к нему подключиться?

Dom Dom Dom. Dom Dom Dom Dom Dom Dom. Dom Dom Dom. Dom Dom Dom!

и еще одно, повис процес активации вот с таким event:

Создатель этой ошибки не указал reason

Возможные ошибки при загрузке и отправке готовых файлов 4-ФСС:

Ошибка: «. период должен быть не меньше 201_г.»

Проверьте, в каком формате сформирован загружаемый файл отчета. Для этого откройте xml-файл с помощью блокнота или интернет-браузера и проверьте, какое значение указано в реквизите «F4FORM version».

Соответствие форматов отчета:

  • Формат 0.93 (F4FORM version = 0.93) — действующий формат. Применяется для отправки отчетности с 3 квартала 2017 года;
  • Формат 0.92 (F4FORM version = 0.92) — Применялся для отправки отчетности с 1 и 2 кварталы 2017 года;
  • Формат 0.9 (F4FORM version = 0.9) — Применялся для отправки отчетности с 3 квартала 2016 года;
  • Формат 0.8 (F4FORM version = 0.8). Применялся для отправки отчетности за 1 и 2 кварталы 2016 года;
  • Формат 0.7 (F4FORM version = 0.7). Применялся для отправки отчетности с 1 по 4 кварталы 2015 года;
  • Формат 0.6 (F4FORM version = 0.6). Применялся для отправки отчетности с 1 по 4 кварталы 2014 года;
  • Формат 0.5 (F4FORM version = 0.5). Применялся для отправки отчетности со 2 по 4 кварталы 2013 года;
  • Формат 0.4 (F4FORM version = 0.4). П рименялся для отправки отчетности с 1 квартала 2012 года по 1 квартал 2013 года;
  • Формат 0.3 (F4FORM version = 0.3). П рименялся для отправки отчетности с 1 по 4 кварталы 2011 года;
  • Формат 0.1 (F4FORM version = 0.1). П рименялся для отправки отчетности с 1 по 4 кварталы 2010 года.

Если формат не соответствует выбранному периоду, то:

  • Сформируйте файл в актуальном формате в той программе, в которой был создан загружаемый отчет;
  • Если формат 0.6 — 0.92 – заполните и отправьте отчет непосредственно в Контур.Экстерн.
  • Если формат 0.4 или 0.5 — отправьте отчет через шлюз ФСС или обратитесь в территориальное подразделение ФСС.
  • Если формат 0.1 или 0.3 — отправить через Контур.Экстерн или через шлюз ФСС нельзя, обратитесь в территориальное подразделение ФСС по вопросу передачи отчета.

«Период действия формы. » (Пример: «Период действия формы: 1 и 2 квартал 2016 года»)

Ошибка указывает на то, что заданный отчетный период не соответствует периоду действия формы.

Если в программу загружен готовый файл:

  • Откройте xml-файл с помощью блокнота или интернет-браузера и убедитесь, что значение элемента «version» совпадает со значением для соответствующего отчетного периода (см. «Соответствие форматов отчета» ). Если значение неверное, исправьте его вручную, например, в блокноте, затем снова загрузите файл и проверьте принятые данные;
  • Обновите программу, в которой был подготовлен отчет, сформируйте файл и загрузите в Контур.Экстерн;
  • Создайте отчет с нужным периодом и заполните его в программе в Контур.Экстерн.
Читать еще:  Число пи на языке паскаль

Если отчет заполняли в Контур.Экстерн, то для устранения ошибки заново создайте и заполните отчет, предварительно выбрав нужный период.

«Создатель этой ошибки не указал причину» исключения

У меня есть следующий код в сервисе WCF, чтобы бросить пользовательскую ошибку, основанную на определенных ситуациях. Я получаю исключение «The creator of this fault did not specify a Reason». Что я делаю не так?

10 Ответов

После некоторого дополнительного исследования сработал следующий модифицированный код:

Короткий ответ: вы не делаете ничего плохого, просто неправильно читаете результаты.

На стороне клиента, когда вы ловите ошибку, то, что ловится, имеет тип System.ServiceModel.FaultException .
Ваш объект InvalidRoutingCodeFault фактически находится в свойстве .detail объекта FaultException. SO.

Свойство сообщения FaultException-это то, что отображается на странице ошибки, поэтому, если оно не заполнено, как в сообщении Джона Эгертона, вы увидите сообщение «создатель этой ошибки не указал причину». Чтобы легко заполнить его, используйте конструктор двух параметров при вызове ошибки в службе следующим образом, передавая сообщение об ошибке из вашего типа ошибки:

является ли NOT решением проблемы

Следующий код работает даже с serviceDebug includeExceptionDetailInFaults=»false»

Нет необходимости добавлять причину неисправности, если она не требуется. Просто убедитесь, что атрибут FaultContract является правильным

Я решил эту проблему с помощью двухпараметрического конструктора.

CustomFaultMassage-это свойство из контракта данных.

Если вы не хотите получать уведомления о таких исключениях, перейдите в раздел Debug — > Exceptions и снимите флажок «User-unhandled» для «Common Language Runtime Exceptions» или для конкретных исключений.

Можно также столкнуться с этим исключением, если не указать атрибут FaultContract(typeof(className)) для метода

У меня есть код точно такой же, как у Рашми, и я получил ошибку «The creator of this fault. «. Это происходило, когда я занимался отладкой в VS2010. Я нашел этот пост:

это объясняло несколько вариантов отладки, которые мне нужно было отключить. Проблема решена.

Обновление ссылки на службу в клиенте решило эту проблему. То же самое может сработать и для вас.

Используя строго типизированный try catch, я смог обойти ошибку «The creator of this fault did not specify a Reason».

Вы можете попробовать это в конфигурации сервера (поведение -> serviceBehaviors — > поведение):

Похожие вопросы:

Я установил атрибуты проверки в модели моей службы WCF [MinLength(6, ErrorMessage = Password should be at least 6 characters long)] public String Password < get; set; >Когда это не удается, я.

Я пытаюсь получить причину throwable, чтобы отобразить ее в случае исключения: if (throwable instanof MyException) //Do something here.. > else if (throwable instanceof Exception) < if.

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

Для следующего исключения причина не указана в окне исключения (->Просмотр сведений): System.ServiceModel.FaultException создатель этой ошибки не указал причину. Как я могу изменить его, чтобы.

Когда бросаешь FaultException вот так: throw new FaultException (new CustomFault(Custom fault message)); Я получаю следующее: The creator of this fault did not.

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

Я пытался установить ArrayIndexOutOfBoundsException как причину NoSuchUserException (для MyUser.class),but это не работает. Параметр Throwable представляет причину исключения. Может кто-нибудь.

На сайте клиента наше приложение иногда показывает internal application error. Мне удалось получить дамп-файл такой ситуации; к сожалению, этот файл не очень полезен: он эффективно содержит только.

Читать еще:  Коды ошибок почтовых серверов

Я использую блок Приложения проверки корпоративной библиотеки для своей службы WCF. Все в порядке, и потребители .Net могут поймать исключение FaultException , чтобы получить.

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

Создатель этой ошибки не указал reason

При получении/отправке отчётных форм, сообщений или другой информации, данные поступают/передаются в зашифрованном виде. Для их расшифровки/шифрования системы криптографии, установленные на компьютере пользователя, обращаются к электронной подписи, используемой пользователем для ФГИС ЕИАС.

При возникновении проблем шифрования/расшифровки пользователю следует убедиться соответствии используемой версии модуля «ЕИАС Мониторинг» (АРМ Специалиста) типу используемой электронной подписи, а так же в корректности установки/настроки средств криптографии и сертификатов электронных подписей.

I. Алгоритм шифрования

Если модуль «ЕИАС Мониторинг» (АРМ Специалиста) выдает сообщение «Ошибка при подписании файла. Указан неправильный алгоритм», это говорит об использовании несовместимой версии модуля «ЕИАС Мониторинг» (АРМ Специалиста) с применяемой пользователем электронной подписью.

ФГИС ЕИАС в рамках модуля «ЕИАС Мониторинг» (АРМ Специалиста) обеспечивает поддержку электронных подписей, соответствующих ГОСТ Р 34.10-2001 (включительно до 31.12.2019, согласно письму ФСБ России №149/7/6-363 от 07.09.2018), а так же электронных подписей, соответствующих ГОСТ Р 34.10-2012 (на текущий момент и далее).

В системе ФГИС ЕИАС поддерживается работа электронных подписей, соответствующих ГОСТ Р 34.10-2012 и ГОСТ Р 34.10-2001. Для работы с теми или иными ключами, следует использовать соответствующую версию модуля «ЕИАС Мониторинг» (АРМ Специалиста).

Дистрибутивы модуля «ЕИАС Мониторинг» (АРМ Специалиста) доступны для загрузки на сайте ФГИС ЕИАС http://eias.ru/

II. Работа систем криптографии и сертификатов электронных подписей

Если модуль «ЕИАС Мониторинг» (АРМ Специалиста) выдает сообщение «Не найден сертификат для расшифровки полученных данных», «Неправильный параметр набора ключей», «Произошла внутренняя ошибка в цепочке сертификатов», «Не удается построить цепочку сертификатов для доверенного корневого центра» и т.п., это говорит о том, что на локальном месте пользователя произведена некорректная установка ЭП, либо отсутствуют необходимые корневые сертификаты, либо имеется ограничение на уровне системы криптографии.



Для исправления ошибки необходимо проверить следующее:

1). На компьютере пользователя должен быть установлен только один криптопровайдер (CSP). Использование разных криптопровайдеров на одном рабочем месте приводит к конфликту механизмов шифрования.

Другие системные требования к рабочему месту указаны в знании #44.

2). Сертификат должен быть установлен для Пользователя, а не для локального компьютера.

При использовании КриптоПро CSP перейдите в оснастку «Сертификаты»: Пуск -> Все рограммы -> Крипто-Про -> Сертификаты».

Здесь необходимо проверить, не добавлен ли ваш личный сертификат в хранилище сертификатов для локального компьютера.

Разверните список «Сертификаты (локальный компьютер) -> Личное -> Реестр -> Сертификаты». Если в данном списке присутствует личный сертификат пользователя вашей организации – его необходимо удалить .

Личный сертификат должен храниться только в «Сертификаты – текущий пользователь -> Личное -> Реестр -> Сертификаты».

Также проверьте хранилища «Другие пользователи» для локального компьютера и текущего пользователя. Личного сертификата там также быть не должно, если он есть – удалить.

3). Убедитесь, что на локальном компьютере установлены корневые сертификаты издателя.

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

Наличие крестиков и восклицательных знаков говорит о том, что данные корневые сертификаты не установлены.

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

Если в цепочке сертификации не указан корневой сертификат издателя или у вас возникают трудности с его получением, то вам необходимо обратиться в Удостоверяющий центр, где вами была приобретена электронная подпись.

Читать еще:  Ошибка http 502

Также необходимо убедиться, что установлены корневые сертификаты, необходимые для работы модулей и компонентов (в том числе отчетных форм) ФГИС ЕИАС. Запрос на установку корневых сертификатов выдается системой при работе, но если этого не происходит и дальнейшая работа невозможна, то следует установить их вручную, загрузив набор корневых сертификатов.

Установка набора корневых сертификатов производится в полуавтоматическом режиме – для этого следует перейти в указанную выше оснастку «Сертификаты»: Пуск -> Все рограммы -> Крипто-Про -> Сертификаты» и перейти в хранилище «Доверенные корневые центры сертификации».

Развернуть вложенные разделы «Доверенные корневые центры сертификации -> Реестр -> Сертификаты» и кликнуть правой кнопкой мыши на последнем каталоге, выбрав из контекстного меню «Все задачи – Импорт. «

В открывшемся окне мастера установки по кнопке «Обзор» перейдите к папке, где был сохранен скачанный набор корневых сертификатов. В выпадающем списке доступных типов файлов для импорта укажите значение «Сертификаты PKCS #7 (*.spc; *.p7b)» и выберите загруженный файл trust_eias_certs.p7b

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

Данное разрешение будет запрошено для каждого ранее отсутствуещего сертификата в хранилище, следует согласиться на установку каждого из них. По окончании процедуры установки система выдаст соответствующее уведомление. Не следует закрывать мастер импорта сертификатов до завершения процедуры установки.

Для корректной работы ФГИС ЕИАС так же требуется установка корневых сертификатов издателя электронной подписи, в частности УЦ СКБ Контур.

4). Переустановите электронную подпись на локальном компьютере через используемый криптопровайдер.

Инструкция по установке ЭП с примером приведена в знании #31.

5). Убедитесь, что номер лицензии на право инспользования крипровайдера введён корректно (знание #37).

6). В настройках модуля «ЕИАС Мониторинг» (АРМ Специалиста) убедитесь, что для каждого из подключаемых серверов указан действующий сертификат.

У меня есть следующий код в службе WCF, чтобы вызвать пользовательскую ошибку, основанную на определенных ситуациях. Я получаю исключение «Создатель этой ошибки не определял причину». Что я делаю неправильно?

После некоторых дополнительных исследований работал следующий модифицированный код:

Короткий ответ: вы ничего не делаете неправильно, просто неправильно читаете результаты.

На стороне клиента, когда вы поймаете ошибку, то, что поймано, имеет тип System.ServiceModel.FaultException .
Ваш объект InvalidRoutingCodeFault фактически находится в свойстве .detail исключения FaultException. SO.

Свойство Message для FaultException – это то, что отображается на странице ошибки, поэтому, если оно не заполнено, как в столбце Джона Эгертона, вы увидите сообщение «Создатель этой ошибки не указал сообщение» Причина «. Чтобы легко заполнить его, используйте два конструктора параметров при вызове ошибки в службе следующим образом, передав сообщение об ошибке из вашего типа ошибки:

I have the following code in WCF service to throw a custom fault based on certain situations. I am getting a «The creator of this fault did not specify a Reason» exception. What am I doing wrong?

10 Answers 10

After some addtional research, the following modified code worked:

The short answer is you are doing nothing wrong, just reading the results incorrectly.

On the client side when you catch the error, what is caught is of the type System.ServiceModel.FaultException .
Your InvalidRoutingCodeFault object is actually in the .detail property of the FaultException. SO.

The Message property of the FaultException is what is displayed on the error page so if it’s not populated like in John Egerton’s post, you will see the ‘The creator of this fault did not specify a Reason’ message. To easily populate it, use the two parameter constructor when throwing the fault in the service as follows, passing your error message from your fault type:

Ссылка на основную публикацию
Adblock
detector