[Gelöst] Serviceaktivitäten Zeitplan Funktioniert nicht

13. Oktober 2012 16:42

Hallo,

leider wirft es bei mir ständig einen nicht genauer definierten Fehler sobald ich versuche eine Serviceaktivität mit der Zeitplan Funktionalität zur verplanen (siehe Anhang).

Nun habe ich mal im Error Log die Error Message dazu angeschaut und werde leider nicht wirklich schlau, wie ich den Fehler beheben könnte, bzw. wie er verursacht wurde:

Code:
at ErrorInformation.LogError()
at ErrorInformation..ctor(Exception exception, Uri requestUrl, Boolean logError)
at MainApplication.Application_Error(Object sender, EventArgs eventArguments)
at EventHandler.Invoke(Object sender, EventArgs e)
at HttpApplication.RaiseOnError()
at ApplicationStepManager.ResumeSteps(Exception error)
at HttpApplication.System.Web.IHttpAsyncHandler.BeginProcessRequest(HttpContext context, AsyncCallback cb, Object extraData)
at HttpRuntime.ProcessRequestInternal(HttpWorkerRequest wr)
at ISAPIRuntime.ProcessRequest(IntPtr ecb, Int32 iWRType)
>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://localhost/XXXXXXXXXXXX/sm/activityscheduling/schedulingdialog.aspx?ActivityId=%7b927298DE-6402-E211-BD4F-005056BE002B%7d&ActivityTypeCode=4214
Stack Trace Info: [KeyNotFoundException: The given key was not present in the dictionary.]
at System.Collections.Generic.Dictionary`2.get_Item(TKey key)
at Microsoft.Crm.Application.Dialogs.SM.ActivitySchedulingDialog.SetCustomizableLabel(FormDescriptor formDescriptor, EntityMetadata serviceActivityMetadata, String attributeName, FormCell formCell)
at Microsoft.Crm.Application.Dialogs.SM.ActivitySchedulingDialog.SetCustomizableLabels()
at Microsoft.Crm.Application.Dialogs.SM.ActivitySchedulingDialog.ConfigureForm()
at Microsoft.Crm.Application.Controls.AppUIPage.OnPreRender(EventArgs e)
at System.Web.UI.Control.PreRenderRecursiveInternal()
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 System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)


Für jeden Hinweis oder Lösungansatz bin ich sehr dankbar.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Zuletzt geändert von k.gutzeit am 15. Oktober 2012 12:14, insgesamt 1-mal geändert.

Re: Serviceaktivitäten Zeitplan Funktioniert nicht

14. Oktober 2012 11:08

Hallo Kai,

schalte einmal das Tracing ein, da solltest du genauere Informationen finden.

Re: Serviceaktivitäten Zeitplan Funktioniert nicht

14. Oktober 2012 11:18

Hallo Michael,

wahrscheinlich habe ich mit Error Log das falsche Wort verwendet, aber den Code von oben habe ich mit dem Trace Log Viewer aus einem Trace File "...-w3wp(6920#6523F96F)-CRMWeb-20121013-15.log" gelesen, welcher beim Aufruf von "..OrgName/sm/activityscheduling/schedulingdialog.aspx" ausgelöst wurde.

Re: Serviceaktivitäten Zeitplan Funktioniert nicht

14. Oktober 2012 12:27

Hallo Kai,

war das der einzige Fehler, der im Trace angezeigt wurde oder gab es noch mehr?
Meistens gehören 3 bis 4 Fehler zusammen, und aus der Kombination kann dann die Ursache ermittelt werden.

Ist irgend etwas am Servicekalender und seinen Entitäten angepasst, oder alles noch Standard?

Re: Serviceaktivitäten Zeitplan Funktioniert nicht

14. Oktober 2012 13:38

Hallo Michael,

an der Serviceaktivität habe ich die Anpassung der Berechnung zur GeoPosition angepasst.

Insgesamt wurden drei Fehler gleichzeitig geworfen, wobei ich den Bezug zu der Aktion nur im o.g. Fehler gesehen habe.

Anbei nochmal die kompletten drei Fehler Logs:


1.
Code:
at ErrorInformation.LogError()
at ErrorInformation..ctor(Exception exception, Uri requestUrl, Boolean logError)
at MainApplication.Application_Error(Object sender, EventArgs eventArguments)
at EventHandler.Invoke(Object sender, EventArgs e)
at HttpApplication.RaiseOnError()
at ApplicationStepManager.ResumeSteps(Exception error)
at HttpApplication.System.Web.IHttpAsyncHandler.BeginProcessRequest(HttpContext context, AsyncCallback cb, Object extraData)
at HttpRuntime.ProcessRequestInternal(HttpWorkerRequest wr)
at ISAPIRuntime.ProcessRequest(IntPtr ecb, Int32 iWRType)
>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://localhost/ORGNAME/sm/activityscheduling/schedulingdialog.aspx?ActivityId=%7bCF9009B6-6502-E211-BD4F-005056BE002B%7d&ActivityTypeCode=4214
Stack Trace Info: [KeyNotFoundException: The given key was not present in the dictionary.]
at System.Collections.Generic.Dictionary`2.get_Item(TKey key)
at Microsoft.Crm.Application.Dialogs.SM.ActivitySchedulingDialog.SetCustomizableLabel(FormDescriptor formDescriptor, EntityMetadata serviceActivityMetadata, String attributeName, FormCell formCell)
at Microsoft.Crm.Application.Dialogs.SM.ActivitySchedulingDialog.SetCustomizableLabels()
at Microsoft.Crm.Application.Dialogs.SM.ActivitySchedulingDialog.ConfigureForm()
at Microsoft.Crm.Application.Controls.AppUIPage.OnPreRender(EventArgs e)
at System.Web.UI.Control.PreRenderRecursiveInternal()
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 System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)


2.

Code:
at ExceptionConverter.ConvertMessageAndErrorCode(Exception exception, Int32& errorCode)
at ExceptionConverter.ToSingleFaultOther(Exception exception)
at ExceptionConverter.ToSingleFaultUntyped(Exception exception)
at ExceptionConverter.ConvertToFault(Exception exception)
at ExceptionConverter.TryConvertToFaultExceptionInternal(Exception exception, Boolean createNewFaultException, FaultException`1& faultException)
at FaultHelper.ConvertToFault(Exception exception)
at ErrorInformation..ctor(Exception exception, Uri requestUrl, Boolean logError)
at MainApplication.Application_Error(Object sender, EventArgs eventArguments)
at EventHandler.Invoke(Object sender, EventArgs e)
at HttpApplication.RaiseOnError()
at ApplicationStepManager.ResumeSteps(Exception error)
at HttpApplication.System.Web.IHttpAsyncHandler.BeginProcessRequest(HttpContext context, AsyncCallback cb, Object extraData)
at HttpRuntime.ProcessRequestInternal(HttpWorkerRequest wr)
at ISAPIRuntime.ProcessRequest(IntPtr ecb, Int32 iWRType)
>System.Web.HttpUnhandledException: Microsoft Dynamics CRM has experienced an error. Reference number for administrators or support: #CBC90650: System.Web.HttpUnhandledException (0x80004005): Exception of type 'System.Web.HttpUnhandledException' was thrown. ---> System.Collections.Generic.KeyNotFoundException: The given key was not present in the dictionary.
>   at System.Collections.Generic.Dictionary`2.get_Item(TKey key)
>   at Microsoft.Crm.Application.Dialogs.SM.ActivitySchedulingDialog.SetCustomizableLabel(FormDescriptor formDescriptor, EntityMetadata serviceActivityMetadata, String attributeName, FormCell formCell)
>   at Microsoft.Crm.Application.Dialogs.SM.ActivitySchedulingDialog.SetCustomizableLabels()
>   at Microsoft.Crm.Application.Dialogs.SM.ActivitySchedulingDialog.ConfigureForm()
>   at Microsoft.Crm.Application.Controls.AppUIPage.OnPreRender(EventArgs e)
>   at System.Web.UI.Control.PreRenderRecursiveInternal()
>   at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
>   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 System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
>   at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)


3.

Code:
at ExceptionConverter.ConvertMessageAndErrorCode(Exception exception, Int32& errorCode)
at ExceptionConverter.ToSingleFaultOther(Exception exception)
at ExceptionConverter.ToSingleFaultUntyped(Exception exception)
at ExceptionConverter.ConvertToFault(Exception exception)
at ExceptionConverter.TryConvertToFaultExceptionInternal(Exception exception, Boolean createNewFaultException, FaultException`1& faultException)
at FaultHelper.ConvertToFault(Exception exception)
at ErrorInformation..ctor(Exception exception, Uri requestUrl, Boolean logError)
at MainApplication.Application_Error(Object sender, EventArgs eventArguments)
at EventHandler.Invoke(Object sender, EventArgs e)
at HttpApplication.RaiseOnError()
at ApplicationStepManager.ResumeSteps(Exception error)
at HttpApplication.System.Web.IHttpAsyncHandler.BeginProcessRequest(HttpContext context, AsyncCallback cb, Object extraData)
at HttpRuntime.ProcessRequestInternal(HttpWorkerRequest wr)
at ISAPIRuntime.ProcessRequest(IntPtr ecb, Int32 iWRType)
>System.Collections.Generic.KeyNotFoundException: Microsoft Dynamics CRM has experienced an error. Reference number for administrators or support: #8A97AE71: System.Collections.Generic.KeyNotFoundException: The given key was not present in the dictionary.
>   at System.Collections.Generic.Dictionary`2.get_Item(TKey key)
>   at Microsoft.Crm.Application.Dialogs.SM.ActivitySchedulingDialog.SetCustomizableLabel(FormDescriptor formDescriptor, EntityMetadata serviceActivityMetadata, String attributeName, FormCell formCell)
>   at Microsoft.Crm.Application.Dialogs.SM.ActivitySchedulingDialog.SetCustomizableLabels()
>   at Microsoft.Crm.Application.Dialogs.SM.ActivitySchedulingDialog.ConfigureForm()
>   at Microsoft.Crm.Application.Controls.AppUIPage.OnPreRender(EventArgs e)
>   at System.Web.UI.Control.PreRenderRecursiveInternal()
>   at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

Re: Serviceaktivitäten Zeitplan Funktioniert nicht

15. Oktober 2012 08:31

Hallo Kai,

stimmt, die anderen beiden Meldungen helfen hier nicht wirklich weiter.
Für mich sieht das so aus, als wenn du entweder ein Feld verwendest, das es nicht gibt (Schreibfehler), oder auf Daten zugreifen möchtest, die zu diesem Zeitpunkt noch nicht zur Verfügung stehen.

Wie hast du die Anpassung vorgenommen? PlugIn, Workflow oder JavaScript?

Auf welche Nachricht läuft deine Anpassung? OnChange, Create, Save, etc.?

Wie schreibst du die Daten in das CRM?

Re: Serviceaktivitäten Zeitplan Funktioniert nicht

15. Oktober 2012 08:38

Hallo Michael,

es handelt sich dabei um eine Javascript basierte Anpassung der Serviceaktivitäts-Entität. Die Berechnung der Geoposition wird lediglich bei Klick auf das entsprechende Icon im Ribbon ausgelöst und setzt die berechneten Werte in den hinzugefügten CRM Feldern fest.

Die Daten werden dann ins CRM geschrieben sobald die Erstellung oder Aktualisierung der Serviceaktivität stattfindet.

Re: Serviceaktivitäten Zeitplan Funktioniert nicht

15. Oktober 2012 09:37

Hallo Kai,

funktioniert der Servicekalender, wenn du dieses JavaScript deaktivierst?

Wenn ja, muss es ja an deinem Code liegen. Ich kann ihn mir gerne ansehen, wenn du ihn hier postest.

Re: Serviceaktivitäten Zeitplan Funktioniert nicht

15. Oktober 2012 10:16

Hallo Michael,

ich habe nun testweise alles an JavaScript und Feldanpassungen aus der Serviceaktivitäts-Entität entfernt, ebenfalls den zusätzlichen Ribbon Button. Leider stoße ich immernoch auf dieselbe Fehlermeldung.

Re: Serviceaktivitäten Zeitplan Funktioniert nicht

15. Oktober 2012 11:37

Hallo Kai,

bist du sicher, das kein Benutzerdefinierter Code mehr ausgeführt wird und auch das Laden der eigenen JavaScripte unterbunden ist?

Ich habe das Gefühl, als wenn da noch irgend wo ein Codeschnipsel rumhängt, das den Fehler verursacht.

Auf jedem Fall solltest du den Servicekalender erst einmal komplett ohne Code ausführen damit wir den Fehler eingrenzen können.

Normalerweise funktioniert der Servicekalender fehlerfrei, so das ich vermute, das es an deinem Code liegt.

Re: Serviceaktivitäten Zeitplan Funktioniert nicht

15. Oktober 2012 12:14

Hallo Michael,

vielen Dank für deine Unterstützung die Fehlerursache lag letztendlich doch an meinem Customizing und hatte nichts mit meinem weitergehenden JS Anpassungen zu tun.

Ich hatte das Lookup Feld "Ort" von der Serviceaktivität entfernt :roll: Scheinbar greift der Scheduler Button direkt über das DOM des Serviceaktivitäts-Formulares auf das Attribut zu und nicht auf das Datenmodel Attribut (das habe ich ja nicht entfernt und auch nicht entfernen können)

Viele Grüße
Kai
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Re: [Gelöst] Serviceaktivitäten Zeitplan Funktioniert nicht

15. Oktober 2012 12:42

Hallo Kai,

vielen Dank für die Rückmeldung. Ja, gerade beim Anpassen der Kalenderentitäten muss man sehr vorsichtig sein, da der hinterlegte Code öfters auf Felder des Formulars zugreift und es zu einem Fehler führt, wenn dieses Feld nicht mehr da ist.