CRM Fehlermeldung: The given key was not present in the dictionary

Hallo zusammen,

ich habe mal wieder eine Fehlermeldung in CRM.

In einer neu erstellten Entität erscheint bei manchen Datensätzen der folgende Fehler:

__________________________________________________________________________
>MSCRM Error Report:
--------------------------------------------------------------------------------------------------------
Error: Exception of type 'System.Web.HttpUnhandledException' was thrown.

Error Message: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Error Details: Exception of type 'System.Web.HttpUnhandledException' was thrown.

Source File: Not available

Line Number: Not available

Request URL: http://xxxxxx/xxxxxx/sfa/conts/areas.aspx?oId={xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}&oType=2&security=852023&tabSet=new_contact_new_profildaten

Stack Trace Info: [KeyNotFoundException: The given key was not present in the dictionary.]
at System.ThrowHelper.ThrowKeyNotFoundException()
at System.Collections.Generic.Dictionary`2.get_Item(TKey key)
at Microsoft.Crm.BusinessEntities.PagingHelper.GetValueAsString(AttributeInfo attribute, ExecutionContext context)
at Microsoft.Crm.BusinessEntities.PagingHelper.Serialize(OrderExpressionCollection orderCollection, BusinessEntityCollection entities, Int32 pageNum, ExecutionContext context)
at Microsoft.Crm.BusinessEntities.PagingHelper.CreatePagingCookie(BusinessEntityCollection entities, EntityExpression entityExpression, ExecutionContext context)
at Microsoft.Crm.BusinessEntities.BusinessProcessObject.FillEntityCollectionFromDataReader(BusinessEntityCollection entities, IDataReader reader, EntityExpression entityExp, PagingHelper pagingHelper, ExecutionContext context)
at Microsoft.Crm.BusinessEntities.BusinessProcessObject.DoRetrieveMultiple(BusinessEntityCollection entities, EntityExpression entityExp, ExecutionContext context)
at Microsoft.Crm.BusinessEntities.BusinessProcessObject.RetrieveMultiple(EntityExpression entityExpression, ExecutionContext context)

[TargetInvocationException: Exception has been thrown by the target of an invocation.]
at System.RuntimeMethodHandle._InvokeMethodFast(Object target, Object[] arguments, SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner)
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean skipVisibilityChecks)
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at System.Web.Services.Protocols.LogicalMethodInfo.Invoke(Object target, Object[] values)
at Microsoft.Crm.Extensibility.InternalOperationPlugin.Execute(IPluginExecutionContext context)
at Microsoft.Crm.Extensibility.PluginStep.Execute(PipelineExecutionContext context)
at Microsoft.Crm.Extensibility.Pipeline.Execute(PipelineExecutionContext context)
at Microsoft.Crm.Extensibility.MessageProcessor.Execute(PipelineExecutionContext context)
at Microsoft.Crm.Extensibility.InternalMessageDispatcher.Execute(PipelineExecutionContext context)
at Microsoft.Crm.Extensibility.ExternalMessageDispatcher.Execute(String messageName, Int32 primaryObjectTypeCode, Int32 secondaryObjectTypeCode, PropertyBag fields, CorrelationToken correlationToken, CallerOriginToken originToken, UserAuth userAuth, Guid callerId)
at Microsoft.Crm.Sdk.RequestBase.Process(Int32 primaryObjectTypeCode, Int32 secondaryObjectTypeCode, CorrelationToken correlationToken, CallerOriginToken originToken, UserAuth userAuth, Guid callerId)
at Microsoft.Crm.Sdk.RequestBase.Process(CorrelationToken correlationToken, CallerOriginToken originToken, UserAuth userAuth, Guid callerId)
at Microsoft.Crm.Sdk.CrmServiceInternal.Execute(RequestBase request, CorrelationToken correlationToken, CallerOriginToken originToken, UserAuth userAuth, Guid callerId)
at Microsoft.Crm.Sdk.InProcessCrmService.Execute(Object request)
at Microsoft.Crm.Application.Platform.ServiceCommands.PlatformCommand.ExecuteInternal()
at Microsoft.Crm.Application.Platform.ServiceCommands.RetrieveMultipleCommand.Execute()
at Microsoft.Crm.ApplicationQuery.RetrieveByObject(String parentEntityName, Guid parentEntityId)
at Microsoft.Crm.ApplicationQuery.RetrieveByObject()
at Microsoft.Crm.ApplicationQuery.ExecuteAPI(String queryApi)
at Microsoft.Crm.Application.Controls.AppGridDataProvider.GetDataXml(QueryBuilder qb)
at Microsoft.Crm.Application.Controls.AppGridDataProvider.Execute()
at Microsoft.Crm.Application.Controls.AppGridUIProvider.Render(HtmlTextWriter output)
at Microsoft.Crm.Application.Components.UI.DataGrid.RenderData(HtmlTextWriter output)
at Microsoft.Crm.Application.Components.UI.DataGrid.RenderInnerHtml(HtmlTextWriter output)
at Microsoft.Crm.Application.Components.UI.DataGrid.Render(HtmlTextWriter output)
at Microsoft.Crm.Application.Components.UI.CrmUIControlBase.RenderControl(HtmlTextWriter writer)
at Microsoft.Crm.Application.Controls.AppAreaPage.Render(HtmlTextWriter output)
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

[HttpUnhandledException: Exception of type 'System.Web.HttpUnhandledException' was thrown.]
at System.Web.UI.Page.HandleError(Exception e)
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
at System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
at System.Web.UI.Page.ProcessRequest()
at System.Web.UI.Page.ProcessRequest(HttpContext context)
at ASP.doeresag_sfa_conts_areas_aspx.ProcessRequest(HttpContext context)
at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)

_______________________________________________________________

Ausführliche Recherchen habe nur ergeben, dass evtl. eine Selbstentwicklung/Addon bei CRM nicht registriert sein könnte. Dies ist aber definitiv nicht der Fall. Es handelt sich nur um eine benutzerdefinierte zusätzliche CRM Entität.
Bei andere Datensätzen, welche die Entität benutzen tritt keinerlei Fehler auf.


Bei der Untersuchung des Fehlers auf der Datenbank-Ebene ist nicht auffälliges zu finden. Dabei habe ich den fehlerhaften Datensatz mit funktionierenden Überprüft.

Folgende Beziehungen bestehen:
1:n
Kontakt:Profildaten

Dass heißt ein Kontakt kann mehrere Profildatensätze besitzen.

Der Fehler tritt wenn man bei dem entsprechenden Kontakt auf die Entität Profildaten klickt. Normalerweise würde man dann die "Zugeordnete Ansicht" der Profildaten erhalten.


Wer hätte ne Idee woran das liegen könnte. Im Notfall würde ich die entsprechenden Daten nochmal rauswerfen und neu anlegen.

Ich hoffe, dass ich den Fehler ausreichend Beschrieben habe.

Viele Grüße

Andreas Müller




AW: CRM Fehlermeldung: The given key was not present in the dictionary

Hi,

die Fehlermeldung sieht mir auch sehr nach einem Fehler in einem eigenen Plugin aus. Habt ihr Plugins an anderen Stellen verwendet um z.B. das Anzeigen von inaktiven Datensätzen in der Zugeordneten Ansicht zu ermöglichen? Wenn ja, dann würde ich diese mal deaktivieren und schauen obs dann funktioniert.

Sollte der Fehler wirklich nicht durch Plugins kommen, müsste ich ins blaue raten, was den Fehler angeht...
Ich glaube eher nicht, dass die Installation des neuesten Update Rollups viel bringt, schaden tuts wahrscheinlich auch nicht, daher könntest du das mal probieren. Rollup 4 kam ja die Tage erst raus ;)

Gruß
Thomas


AW: CRM Fehlermeldung: The given key was not present in the dictionary

Hallo zusammen,

leider habe ich noch keinen Weg gefunden den Fehler zu beheben.
Im CRM gibt es definitiv kein selbstgebautes Plugin. Das seltsame bei der Sache ist es auch, dass der Fehler nur bei manchen Datensätzen der Entität auftritt. Bei den funktionierenden Datensätzen ist nicht anders gewesen. Datenbank technisch sieht es auch gut aus. Hat jemand noch eine Anregung.

Vielen Dank im Voraus.

Viele Grüße

Andreas