Answered by:
CRM 2013 Plugin PreAccountMerge Custom Error Message Display not working

Question
-
I have a PreAccountMerge plugin created to error out (throw new InvalidPluginExecutionException) with Custom Error Message when User perform Merge Operation on 2 accounts. Custom Error Message changes based on certain validation. When it throws error, on the user screen, below generic error dialog get displayed, but it doesn't display Custom message from plugin. My all other plugin is working fine and able to display Custom Message on screen as i expected.
I try putting the InvalidPluginExecutionException very first statement on PreAccountMerge, but still the same. I created sample 30 day trial online CRM Account and deployed same plugin online, it works fine. i am able to see the custom message on screen. I try to disable all plugins & Workflows, to test this, but no luck.
When i run this plugin, i am able to capture error on CRM Server by enabling trace which shows below error. Any one what could be wrong??
# CRM Tracing Version 2.0 # LocalTime: 2014-09-22 09:15:57.609 # Categories: *:Verbose # CallStackOn: Yes # ComputerName: crmtestserver # CRMVersion: 6.1.0000.0581 # DeploymentType: OnPremise # ScaleGroup: # ServerRole: AppServer, AsyncService, DiscoveryService, ApiServer, HelpServer, DeploymentService, SandboxServer, DeploymentManagementTools, VssWriter, EmailConnector [2014-09-22 09:15:57.609] Process: w3wp |Organization:00000000-0000-0000-0000-000000000000 |Thread: 3 |Category: Shared |User: 00000000-0000-0000-0000-000000000000 |Level: Verbose |ReqId: 9c5d325e-7093-47e5-a8ce-9376ee8bc8da | CrmDbConnection.Open ilOffset = 0x2E at CrmDbConnection.Open() ilOffset = 0x2E at DatabaseService.ExecuteRetrieveCommand(String[] columns, PropertyBag[] conditions, CrmDbConnection connection, Nullable`1 top, Nullable`1 offset, IList`1 orderBy, QueryHints hints, IDictionary collectionToFill) ilOffset = 0x0 at <>c__DisplayClass2.<RetrieveInternal>b__0() ilOffset = 0x5A at DatabaseService.MeasurePerformance(Action executeAction, Boolean readQuery) ilOffset = 0xC at DatabaseService.RetrieveInternal(String tableName, String[] columns, PropertyBag[] conditions, Nullable`1 top, Nullable`1 offset, IList`1 orderBy, QueryHints hints, IDictionary collectionToFill) ilOffset = 0xED at DatabaseService.Retrieve(String tableName, String[] columns, PropertyBag[] conditions) ilOffset = 0x2C at DatabaseService.RetrieveById(String tableName, Object id, String[] columns) ilOffset = 0x48 at ServerLocatorService.RetrieveForCaching(Table table, Object primaryKey) ilOffset = 0x20 at ServerLocatorService.RetrieveFromCache(Table table, Object primaryKey) ilOffset = 0x11 at ServerLocatorService.RetrieveById(String tableName, Object primaryKey, String[] columns) ilOffset = 0x43 at ServerLocatorService.GetFederationProvider(Guid id, String[] columns) ilOffset = 0xD at ServerLocatorService.GetFederationProvider(Guid id) ilOffset = 0x3 at LocatorService.GetFederationProvider(Guid id) ilOffset = 0x7 at CrmAuthenticationContext.get_DefaultFederationProvider() ilOffset = 0xF at CrmAuthenticationContext.GetFederationProviderInternal(Guid orgId) ilOffset = 0x9F at CrmAuthenticationContext.IsClaimsEnabled(Guid organizationId) ilOffset = 0x16 at ClaimsUtility.InitializeApplication() ilOffset = 0x7 at MainApplication.Application_OnStart() ilOffset = 0x38 at RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor) ilOffset = 0xFFFFFFFF at RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments) ilOffset = 0x34 at RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) ilOffset = 0x89 at MethodBase.Invoke(Object obj, Object[] parameters) ilOffset = 0x6 at HttpApplication.InvokeMethodWithAssert(MethodInfo method, Int32 paramCount, Object eventSource, EventArgs eventArgs) ilOffset = 0x11 at HttpApplication.ProcessSpecialRequest(HttpContext context, MethodInfo method, Int32 paramCount, Object eventSource, EventArgs eventArgs, HttpSessionState session) ilOffset = 0x4B at HttpApplicationFactory.EnsureAppStartCalled(HttpContext context) ilOffset = 0x35 at HttpApplicationFactory.GetApplicationInstance(HttpContext context) ilOffset = 0x35 at HttpRuntime.ProcessRequestInternal(HttpWorkerRequest wr) ilOffset = 0x103 at ISAPIRuntime.ProcessRequest(IntPtr ecb, Int32 iWRType) ilOffset = 0x4B >ConnectionString: Workstation ID=crmtestserver.w3wp.443;Data Source=crmsqlserver;Initial Catalog=MSCRM_CONFIG;Integrated Security=True;Min Pool Size=2;Connect Timeout=150 [2014-09-22 09:15:57.687] Process: w3wp |Organization:00000000-0000-0000-0000-000000000000 |Thread: 3 |Category: Platform.Sql |User: 00000000-0000-0000-0000-000000000000 |Level: Verbose |ReqId: 9c5d325e-7093-47e5-a8ce-9376ee8bc8da | CrmDbConnection.InternalExecuteReader ilOffset = 0x1C at CrmDbConnection.InternalExecuteReader(IDbCommand command, Boolean capturePerfTrace) ilOffset = 0x1C at CrmDbConnection.ExecuteReader(IDbCommand command, Boolean impersonate, Boolean capturePerfTrace) ilOffset = 0x10 at DatabaseService.ExecuteBaseReader(CrmDbConnection connection, IDbCommand command, String[] columns, IDictionary collectionToFill) ilOffset = 0x1E at DatabaseService.ExecuteRetrieveCommand(String[] columns, PropertyBag[] conditions, CrmDbConnection connection, Nullable`1 top, Nullable`1 offset, IList`1 orderBy, QueryHints hints, IDictionary collectionToFill) ilOffset = 0x57 at <>c__DisplayClass2.<RetrieveInternal>b__0() ilOffset = 0x5A at DatabaseService.MeasurePerformance(Action executeAction, Boolean readQuery) ilOffset = 0xC at DatabaseService.RetrieveInternal(String tableName, String[] columns, PropertyBag[] conditions, Nullable`1 top, Nullable`1 offset, IList`1 orderBy, QueryHints hints, IDictionary collectionToFill) ilOffset = 0xED at DatabaseService.Retrieve(String tableName, String[] columns, PropertyBag[] conditions) ilOffset = 0x2C at DatabaseService.RetrieveById(String tableName, Object id, String[] columns) ilOffset = 0x48 at ServerLocatorService.RetrieveForCaching(Table table, Object primaryKey) ilOffset = 0x20 at ServerLocatorService.RetrieveFromCache(Table table, Object primaryKey) ilOffset = 0x11 at ServerLocatorService.RetrieveById(String tableName, Object primaryKey, String[] columns) ilOffset = 0x43 at ServerLocatorService.GetFederationProvider(Guid id, String[] columns) ilOffset = 0xD at ServerLocatorService.GetFederationProvider(Guid id) ilOffset = 0x3 at LocatorService.GetFederationProvider(Guid id) ilOffset = 0x7 at CrmAuthenticationContext.get_DefaultFederationProvider() ilOffset = 0xF at CrmAuthenticationContext.GetFederationProviderInternal(Guid orgId) ilOffset = 0x9F at CrmAuthenticationContext.IsClaimsEnabled(Guid organizationId) ilOffset = 0x16 at ClaimsUtility.InitializeApplication() ilOffset = 0x7 at MainApplication.Application_OnStart() ilOffset = 0x38 at RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor) ilOffset = 0xFFFFFFFF at RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments) ilOffset = 0x34 at RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) ilOffset = 0x89 at MethodBase.Invoke(Object obj, Object[] parameters) ilOffset = 0x6 at HttpApplication.InvokeMethodWithAssert(MethodInfo method, Int32 paramCount, Object eventSource, EventArgs eventArgs) ilOffset = 0x11 at HttpApplication.ProcessSpecialRequest(HttpContext context, MethodInfo method, Int32 paramCount, Object eventSource, EventArgs eventArgs, HttpSessionState session) ilOffset = 0x4B at HttpApplicationFactory.EnsureAppStartCalled(HttpContext context) ilOffset = 0x35 at HttpApplicationFactory.GetApplicationInstance(HttpContext context) ilOffset = 0x35 at HttpRuntime.ProcessRequestInternal(HttpWorkerRequest wr) ilOffset = 0x103 at ISAPIRuntime.ProcessRequest(IntPtr ecb, Int32 iWRType) ilOffset = 0x4B >SELECT Id, [ActiveEndpoint], [ActiveMexEndpoint], [Enabled], [IdentityClaim], [MetadataUri], [Name], [PassiveEndpoint], [RelyingPartyActiveIdentifier], [RelyingPartyPassiveIdentifier] FROM [FederationProvider] WHERE ((([Id] = '26332692-cd1e-4dd6-bd5b-07326c43302e')) ) [2014-09-22 09:15:57.703] Process: w3wp |Organization:00000000-0000-0000-0000-000000000000 |Thread: 3 |Category: Platform.Sql |User: 00000000-0000-0000-0000-000000000000 |Level: Verbose |ReqId: 9c5d325e-7093-47e5-a8ce-9376ee8bc8da | CrmDbConnection.InternalExecuteReader ilOffset = 0x135 at CrmDbConnection.InternalExecuteReader(IDbCommand command, Boolean capturePerfTrace) ilOffset = 0x135 at CrmDbConnection.ExecuteReader(IDbCommand command, Boolean impersonate, Boolean capturePerfTrace) ilOffset = 0x10 at DatabaseService.ExecuteBaseReader(CrmDbConnection connection, IDbCommand command, String[] columns, IDictionary collectionToFill) ilOffset = 0x1E at DatabaseService.ExecuteRetrieveCommand(String[] columns, PropertyBag[] conditions, CrmDbConnection connection, Nullable`1 top, Nullable`1 offset, IList`1 orderBy, QueryHints hints, IDictionary collectionToFill) ilOffset = 0x57 at <>c__DisplayClass2.<RetrieveInternal>b__0() ilOffset = 0x5A at DatabaseService.MeasurePerformance(Action executeAction, Boolean readQuery) ilOffset = 0xC at DatabaseService.RetrieveInternal(String tableName, String[] columns, PropertyBag[] conditions, Nullable`1 top, Nullable`1 offset, IList`1 orderBy, QueryHints hints, IDictionary collectionToFill) ilOffset = 0xED at DatabaseService.Retrieve(String tableName, String[] columns, PropertyBag[] conditions) ilOffset = 0x2C at DatabaseService.RetrieveById(String tableName, Object id, String[] columns) ilOffset = 0x48 at ServerLocatorService.RetrieveForCaching(Table table, Object primaryKey) ilOffset = 0x20 at ServerLocatorService.RetrieveFromCache(Table table, Object primaryKey) ilOffset = 0x11 at ServerLocatorService.RetrieveById(String tableName, Object primaryKey, String[] columns) ilOffset = 0x43 at ServerLocatorService.GetFederationProvider(Guid id, String[] columns) ilOffset = 0xD at ServerLocatorService.GetFederationProvider(Guid id) ilOffset = 0x3 at LocatorService.GetFederationProvider(Guid id) ilOffset = 0x7 at CrmAuthenticationContext.get_DefaultFederationProvider() ilOffset = 0xF at CrmAuthenticationContext.GetFederationProviderInternal(Guid orgId) ilOffset = 0x9F at CrmAuthenticationContext.IsClaimsEnabled(Guid organizationId) ilOffset = 0x16 at ClaimsUtility.InitializeApplication() ilOffset = 0x7 at MainApplication.Application_OnStart() ilOffset = 0x38 at RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor) ilOffset = 0xFFFFFFFF at RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments) ilOffset = 0x34 at RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) ilOffset = 0x89 at MethodBase.Invoke(Object obj, Object[] parameters) ilOffset = 0x6 at HttpApplication.InvokeMethodWithAssert(MethodInfo method, Int32 paramCount, Object eventSource, EventArgs eventArgs) ilOffset = 0x11 at HttpApplication.ProcessSpecialRequest(HttpContext context, MethodInfo method, Int32 paramCount, Object eventSource, EventArgs eventArgs, HttpSessionState session) ilOffset = 0x4B at HttpApplicationFactory.EnsureAppStartCalled(HttpContext context) ilOffset = 0x35 at HttpApplicationFactory.GetApplicationInstance(HttpContext context) ilOffset = 0x35 at HttpRuntime.ProcessRequestInternal(HttpWorkerRequest wr) ilOffset = 0x103 at ISAPIRuntime.ProcessRequest(IntPtr ecb, Int32 iWRType) ilOffset = 0x4B
Monday, September 22, 2014 3:05 PM
Answers
-
please install update rollup3 which got fix for this issue.
regards.
Jithesh
- Marked as answer by Nicksoft2011 Wednesday, September 24, 2014 6:55 PM
Monday, September 22, 2014 9:09 PM -
Jithesh,
thanks for update on this. We already have SP1 installed and current build is 6.1.0.581.
Do we still need to install Roll up update 3??
Thanks,
Nick
- Marked as answer by Nicksoft2011 Wednesday, September 24, 2014 6:55 PM
Tuesday, September 23, 2014 1:30 PM -
I was able to resolve this issue by installing CRM 2013 SP1 Roll up 1 update (http://support.microsoft.com/kb/2953252) which is released on September 23,2014). It did resolved the issue.
- Marked as answer by Nicksoft2011 Monday, September 29, 2014 12:36 PM
Wednesday, September 24, 2014 6:57 PM
All replies
-
please install update rollup3 which got fix for this issue.
regards.
Jithesh
- Marked as answer by Nicksoft2011 Wednesday, September 24, 2014 6:55 PM
Monday, September 22, 2014 9:09 PM -
Jithesh,
thanks for update on this. We already have SP1 installed and current build is 6.1.0.581.
Do we still need to install Roll up update 3??
Thanks,
Nick
- Marked as answer by Nicksoft2011 Wednesday, September 24, 2014 6:55 PM
Tuesday, September 23, 2014 1:30 PM -
I was able to resolve this issue by installing CRM 2013 SP1 Roll up 1 update (http://support.microsoft.com/kb/2953252) which is released on September 23,2014). It did resolved the issue.
- Marked as answer by Nicksoft2011 Monday, September 29, 2014 12:36 PM
Wednesday, September 24, 2014 6:57 PM