Asked by:
GenerateWorkflowObjectModelFromXaml error: ArgumentException for binaryOperator: Operator in a binary expression must be a binary operator

Question
-
CRM 2015, open a record form in CRM error in page:
------------------------------------------------------------
Error
An error has occurred.
Try this action. if the problem continues, click the MS CRM Community for solutions or ........-------------------------------------------------------------
error in event log:
Event code: 3005
Event message: An unhandled exception has occurred.
Event time: 4/10/2017 5:26:19 PM
Event time (UTC): 4/10/2017 9:26:19 AM
Event ID: ec91b00d4c27400ebe28ac3a999bc4c4
Event sequence: 80094
Event occurrence: 203
Event detail code: 0
Application information:
Application domain: /LM/W3SVC/2/ROOT-1-131362713616028157
Trust level: Full
Application Virtual Path: /
Application Path: C:\Program Files\Microsoft Dynamics CRM\CRMWeb\
Machine name: CRMWFEINT2
Process information:
Process ID: 18184
Process name: w3wp.exe
Account name: XXXXXX\XXXXXX
Exception information:
Exception type: HttpUnhandledException
Exception message: 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.HttpServerUtility.ExecuteInternal(IHttpHandler handler, TextWriter writer, Boolean preserveForm, Boolean setPreviousPage, VirtualPath path, VirtualPath filePath, String physPath, Exception error, String queryStringOverride)
Error generating UiData
at Microsoft.Crm.Workflow.ObjectModel.UIDataGenerator.GenerateWorkflowObjectModelFromXaml()
at Microsoft.Crm.Workflow.ObjectModel.UIDataGenerator.GenerateUIDataFromEntity()
at Microsoft.Crm.Application.Components.Sdk.ReadFormControls.Web.ProcessControlProcessCache.DeserializeProcess(Entity processEntity)
at Microsoft.Crm.Application.Components.Sdk.ReadFormControls.Web.ProcessControlProcessCache.ReadProcessEntity(Entity processEntity)
at System.Lazy`1.CreateValue()
at System.Lazy`1.LazyInitValue()
at Microsoft.Crm.Application.Components.Sdk.ReadFormControls.Web.ProcessControl.InitializeProcess(Guid parentEntity, Int32 entityTypeCode)
at Microsoft.Crm.Application.Components.Sdk.ReadFormControls.Web.ProcessControl.GetRequiredColumns(Int32 entityTypeCode)
at Microsoft.Crm.Application.Forms.CompositeControlVisitor.HandleColumnProvider(Control control, FormDescriptor formDescriptor)
at Microsoft.Crm.Application.InlineEdit.Mediators.FormMediator.AddControlProperties(ICrmControl crmControl, ControlDescriptor controlDescriptor)
at Microsoft.Crm.Application.InlineEdit.Mediators.FormMediator.ProcessControlHierarchy(Action`2 controlHandler)
at Microsoft.Crm.Application.InlineEdit.Mediators.FormMediator.GetInstance(FormFactor formFactor, FormDescriptor descriptor, Guid processId, Int64 processVersionNumber, IOrganizationContext organizationContext)
at Microsoft.Crm.Application.InlineEdit.Mediators.FormMediator.GetInstance(FormFactor formFactor, Int32 entityTypeCode, Guid processId, Int64 processVersionNumber, IOrganizationContext organizationContext)
at Microsoft.Crm.Application.InlineEdit.ReadFormDataBuilder..ctor(String recordId, String entityTypeCode, Guid formId, FormFactor formFactor)
at Microsoft.Crm.Application.InlineEdit.ReadFormDataBuilder..ctor(String recordId, String entityTypeCode, FormFactor formFactor)
at Microsoft.Crm.Application.Pages.Common.ReadFormPage.PopulateFormDescriptorAndDataBuilder()
at Microsoft.Crm.Application.Pages.Common.ReadFormPage.OnPreInit()
at Microsoft.Crm.Application.Controls.AppUIPage.OnInit(EventArgs e)
at Microsoft.Crm.Application.Controls.AppPage.OnInit(EventArgs e)
at System.Web.UI.Control.InitRecursive(Control namingContainer)
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
ArgumentException for binaryOperator: Operator in a binary expression must be a binary operator
at Microsoft.Crm.Workflow.Utils.ExceptionUtility.ThrowArgumentException(String message, String parameterName)
at Microsoft.Crm.Workflow.Expressions.BinaryExpression..ctor(WorkflowStep workflow, WorkflowConditionOperator binaryOperator, ExpressionBase leftOperand, ExpressionBase[] rightOperands)
at Microsoft.Crm.Workflow.ObjectModel.UIDataGenerator.ReadEvaluateCondition(EvaluateCondition activity)
at Microsoft.Crm.Workflow.ObjectModel.UIDataGenerator.ReadExpression(Collection`1 activities, Type endActivityType, Boolean customActivity, Int32& activityIndex)
at Microsoft.Crm.Workflow.ObjectModel.UIDataGenerator.ReadBranchStep(StepBase parentStep, Collection`1 sequenceActivities, Int32& activityIndex)
at Microsoft.Crm.Workflow.ObjectModel.UIDataGenerator.ReadConditionStep(Boolean wait, ConditionSequence sequence)
at Microsoft.Crm.Workflow.ObjectModel.UIDataGenerator.ReadCompositeStep(String stepId, String description, Activity activity, Collection`1 variables)
at Microsoft.Crm.Workflow.ObjectModel.UIDataGenerator.ReadSingleStep(Activity activity)
at Microsoft.Crm.Workflow.ObjectModel.UIDataGenerator.AddChildSteps(CompositeStepBase compositeStep, Composite sequence)
at Microsoft.Crm.Workflow.ObjectModel.UIDataGenerator.ReadStageStep(String stageName, Composite sequence)
at Microsoft.Crm.Workflow.ObjectModel.UIDataGenerator.ReadCompositeStep(String stepId, String description, Activity activity, Collection`1 variables)
at Microsoft.Crm.Workflow.ObjectModel.UIDataGenerator.ReadSingleStep(Activity activity)
at Microsoft.Crm.Workflow.ObjectModel.UIDataGenerator.AddChildSteps(CompositeStepBase compositeStep, Composite sequence)
at Microsoft.Crm.Workflow.ObjectModel.UIDataGenerator.ReadEntityStep(String entityLogicalName, Composite sequence)
at Microsoft.Crm.Workflow.ObjectModel.UIDataGenerator.ReadCompositeStep(String stepId, String description, Activity activity, Collection`1 variables)
at Microsoft.Crm.Workflow.ObjectModel.UIDataGenerator.ReadSingleStep(Activity activity)
at Microsoft.Crm.Workflow.ObjectModel.UIDataGenerator.GenerateWorkflowObjectModelFromXaml()
ArgumentException for binaryOperator: Operator in a binary expression must be a binary operator
Request information:
Request URL: https://xxx.xxxxx.com:443/XXX/main.aspx?etc=10031&extraqs=?etc=10031&id=236ea23ffff9e611941b005056b37844&pagemode=iframe&pagetype=entityrecord
Tuesday, April 11, 2017 7:19 AM
All replies
-
This looks like you've somehow got a corrupt process - as this happens when you open a record it is probably a business rule or a business process flow. I suggest you try disabling the business process flows and rules on the affected entity, either one-by-one or in groups, to determine which has the problem.
Have you created or updated any business rule or business process flows by editing the XAML definition directly, rather through the CRM UI editing tools ? This is the only way that I know of which could cause this error
Microsoft CRM MVP - http://mscrmuk.blogspot.com/ http://www.excitation.co.uk
Tuesday, April 11, 2017 8:10 AMModerator -
Moderator, thanks for your reply,
all business rules and business process flow in my solution are created and updated by CRM UI tool, this error sometimes occur and sometimes not occur, it is ruleless. so I think if the XAML is wrong the error will occur everytime when opening record. on the other hand as time goes an this error occur more frequency until the CRM IIS reset.
Moderator if the XAML is wrong, is there any way to find which business rule or business process flow is wrong(the name or id of rule can be writed in log)?
Thanks a lot.
Tuesday, April 11, 2017 1:40 PM -
If you enable CRM tracing, I expect the trace log will give you the id of the process that has the error. I'm not sure if you'll get the id just with error level logging, or you may need verbose level and/or SQL logging to get the id
Microsoft CRM MVP - http://mscrmuk.blogspot.com/ http://www.excitation.co.uk
Wednesday, April 12, 2017 8:38 AMModerator -
Thank you Moderator
please find below the CRM tracing log, could you please help me to find out which id is the id of the process that has the error.
[2017-04-10 16:33:08.457] Process: w3wp |Organization:00000000-0000-0000-0000-000000000000 |Thread: 56 |Category: Exception |User: 00000000-0000-0000-0000-000000000000 |Level: Error |ReqId: fc94972c-accf-4dbd-908c-4d95442ed18e | CrmException..ctor ilOffset = 0x7
at CrmException..ctor(String message, Exception innerException, Int32 errorCode, Boolean isFlowControlException) ilOffset = 0x7
at CrmException..ctor(String message, Exception innerException, Int32 errorCode) ilOffset = 0x5
at ExceptionUtility.ThrowArgumentException(String message, String parameterName) ilOffset = 0x16
at BinaryExpression..ctor(WorkflowStep workflow, WorkflowConditionOperator binaryOperator, ExpressionBase leftOperand, ExpressionBase[] rightOperands) ilOffset = 0x16
at UIDataGenerator.ReadEvaluateCondition(EvaluateCondition activity) ilOffset = 0x108
at UIDataGenerator.ReadExpression(Collection`1 activities, Type endActivityType, Boolean customActivity, Int32& activityIndex) ilOffset = 0x15D
at UIDataGenerator.ReadBranchStep(StepBase parentStep, Collection`1 sequenceActivities, Int32& activityIndex) ilOffset = 0xE
at UIDataGenerator.ReadConditionStep(Boolean wait, ConditionSequence sequence) ilOffset = 0x50
at UIDataGenerator.ReadCompositeStep(String stepId, String description, Activity activity, Collection`1 variables) ilOffset = 0x195
at UIDataGenerator.ReadSingleStep(Activity activity) ilOffset = 0xAC
at UIDataGenerator.AddChildSteps(CompositeStepBase compositeStep, Composite sequence) ilOffset = 0x25
at UIDataGenerator.ReadStageStep(String stageName, Composite sequence) ilOffset = 0x61
at UIDataGenerator.ReadCompositeStep(String stepId, String description, Activity activity, Collection`1 variables) ilOffset = 0xE8
at UIDataGenerator.ReadSingleStep(Activity activity) ilOffset = 0xAC
at UIDataGenerator.AddChildSteps(CompositeStepBase compositeStep, Composite sequence) ilOffset = 0x25
at UIDataGenerator.ReadEntityStep(String entityLogicalName, Composite sequence) ilOffset = 0x4F
at UIDataGenerator.ReadCompositeStep(String stepId, String description, Activity activity, Collection`1 variables) ilOffset = 0x87
at UIDataGenerator.ReadSingleStep(Activity activity) ilOffset = 0xAC
at UIDataGenerator.GenerateWorkflowObjectModelFromXaml() ilOffset = 0x77
at UIDataGenerator.GenerateUIDataFromEntity() ilOffset = 0x1BF
at ProcessControlProcessCache.DeserializeProcess(Entity processEntity) ilOffset = 0x18
at ProcessControlProcessCache.ReadProcessEntity(Entity processEntity) ilOffset = 0x4E
at Lazy`1.CreateValue() ilOffset = 0x61
at Lazy`1.LazyInitValue() ilOffset = 0x86
at ProcessControl.InitializeProcess(Guid parentEntity, Int32 entityTypeCode) ilOffset = 0x90
at ProcessControl.GetRequiredColumns(Int32 entityTypeCode) ilOffset = 0x14
at CompositeControlVisitor.HandleColumnProvider(Control control, FormDescriptor formDescriptor) ilOffset = 0x1C
at FormMediator.AddControlProperties(ICrmControl crmControl, ControlDescriptor controlDescriptor) ilOffset = 0x7
at FormMediator.ProcessControlHierarchy(Action`2 controlHandler) ilOffset = 0x43
at FormMediator.GetInstance(FormFactor formFactor, FormDescriptor descriptor, Guid processId, Int64 processVersionNumber, IOrganizationContext organizationContext) ilOffset = 0x5A
at FormMediator.GetInstance(FormFactor formFactor, Int32 entityTypeCode, Guid processId, Int64 processVersionNumber, IOrganizationContext organizationContext) ilOffset = 0x17
at ReadFormDataBuilder..ctor(String recordId, String entityTypeCode, Guid formId, FormFactor formFactor) ilOffset = 0x12F
at ReadFormDataBuilder..ctor(String recordId, String entityTypeCode, FormFactor formFactor) ilOffset = 0x9
at ReadFormPage.PopulateFormDescriptorAndDataBuilder() ilOffset = 0x1E1
at ReadFormPage.OnPreInit() ilOffset = 0x95
at AppUIPage.OnInit(EventArgs e) ilOffset = 0x7
at AppPage.OnInit(EventArgs e) ilOffset = 0xA
at Control.InitRecursive(Control namingContainer) ilOffset = 0xFF
at Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) ilOffset = 0x2CD
at Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) ilOffset = 0x3C
at Page.ProcessRequest() ilOffset = 0x14
at Page.ProcessRequest(HttpContext context) ilOffset = 0x33
at HttpServerUtility.ExecuteInternal(IHttpHandler handler, TextWriter writer, Boolean preserveForm, Boolean setPreviousPage, VirtualPath path, VirtualPath filePath, String physPath, Exception error, String queryStringOverride) ilOffset = 0x36A
at HttpServerUtility.Execute(String path, TextWriter writer, Boolean preserveForm) ilOffset = 0x204
at HttpServerUtility.Transfer(String path) ilOffset = 0x18
at Control.PreRenderRecursiveInternal() ilOffset = 0x54
at Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) ilOffset = 0x6D3
at Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) ilOffset = 0x3C
at Page.ProcessRequest() ilOffset = 0x14
at Page.ProcessRequest(HttpContext context) ilOffset = 0x33
at CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() ilOffset = 0x18D
at HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) ilOffset = 0x15
at ApplicationStepManager.ResumeSteps(Exception error) ilOffset = 0x10A
at HttpApplication.System.Web.IHttpAsyncHandler.BeginProcessRequest(HttpContext context, AsyncCallback cb, Object extraData) ilOffset = 0x5C
at HttpRuntime.ProcessRequestInternal(HttpWorkerRequest wr) ilOffset = 0x16A
at ISAPIRuntime.ProcessRequest(IntPtr ecb, Int32 iWRType) ilOffset = 0x4B
>Crm Exception: Message: ArgumentException for binaryOperator: Operator in a binary expression must be a binary operator, ErrorCode: -2147220989, InnerException: System.ArgumentException: ArgumentException for binaryOperator: Operator in a binary expression must be a binary operator
[2017-04-10 16:33:08.457] Process: w3wp |Organization:00000000-0000-0000-0000-000000000000 |Thread: 56 |Category: Exception |User: 00000000-0000-0000-0000-000000000000 |Level: Error |ReqId: fc94972c-accf-4dbd-908c-4d95442ed18e | CrmException..ctor ilOffset = 0x7
at CrmException..ctor(String message, Exception innerException, Int32 errorCode, Boolean isFlowControlException) ilOffset = 0x7
at CrmException..ctor(String message, Exception innerException, Int32 errorCode) ilOffset = 0x5
at UIDataGenerator.GenerateWorkflowObjectModelFromXaml() ilOffset = 0x77
at UIDataGenerator.GenerateUIDataFromEntity() ilOffset = 0x1BF
at ProcessControlProcessCache.DeserializeProcess(Entity processEntity) ilOffset = 0x18
at ProcessControlProcessCache.ReadProcessEntity(Entity processEntity) ilOffset = 0x4E
at Lazy`1.CreateValue() ilOffset = 0x61
at Lazy`1.LazyInitValue() ilOffset = 0x86
at ProcessControl.InitializeProcess(Guid parentEntity, Int32 entityTypeCode) ilOffset = 0x90
at ProcessControl.GetRequiredColumns(Int32 entityTypeCode) ilOffset = 0x14
at CompositeControlVisitor.HandleColumnProvider(Control control, FormDescriptor formDescriptor) ilOffset = 0x1C
at FormMediator.AddControlProperties(ICrmControl crmControl, ControlDescriptor controlDescriptor) ilOffset = 0x7
at FormMediator.ProcessControlHierarchy(Action`2 controlHandler) ilOffset = 0x43
at FormMediator.GetInstance(FormFactor formFactor, FormDescriptor descriptor, Guid processId, Int64 processVersionNumber, IOrganizationContext organizationContext) ilOffset = 0x5A
at FormMediator.GetInstance(FormFactor formFactor, Int32 entityTypeCode, Guid processId, Int64 processVersionNumber, IOrganizationContext organizationContext) ilOffset = 0x17
at ReadFormDataBuilder..ctor(String recordId, String entityTypeCode, Guid formId, FormFactor formFactor) ilOffset = 0x12F
at ReadFormDataBuilder..ctor(String recordId, String entityTypeCode, FormFactor formFactor) ilOffset = 0x9
at ReadFormPage.PopulateFormDescriptorAndDataBuilder() ilOffset = 0x1E1
at ReadFormPage.OnPreInit() ilOffset = 0x95
at AppUIPage.OnInit(EventArgs e) ilOffset = 0x7
at AppPage.OnInit(EventArgs e) ilOffset = 0xA
at Control.InitRecursive(Control namingContainer) ilOffset = 0xFF
at Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) ilOffset = 0x2CD
at Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) ilOffset = 0x3C
at Page.ProcessRequest() ilOffset = 0x14
at Page.ProcessRequest(HttpContext context) ilOffset = 0x33
at HttpServerUtility.ExecuteInternal(IHttpHandler handler, TextWriter writer, Boolean preserveForm, Boolean setPreviousPage, VirtualPath path, VirtualPath filePath, String physPath, Exception error, String queryStringOverride) ilOffset = 0x36A
at HttpServerUtility.Execute(String path, TextWriter writer, Boolean preserveForm) ilOffset = 0x204
at HttpServerUtility.Transfer(String path) ilOffset = 0x18
at Control.PreRenderRecursiveInternal() ilOffset = 0x54
at Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) ilOffset = 0x6D3
at Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) ilOffset = 0x3C
at Page.ProcessRequest() ilOffset = 0x14
at Page.ProcessRequest(HttpContext context) ilOffset = 0x33
at CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() ilOffset = 0x18D
at HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) ilOffset = 0x15
at ApplicationStepManager.ResumeSteps(Exception error) ilOffset = 0x10A
at HttpApplication.System.Web.IHttpAsyncHandler.BeginProcessRequest(HttpContext context, AsyncCallback cb, Object extraData) ilOffset = 0x5C
at HttpRuntime.ProcessRequestInternal(HttpWorkerRequest wr) ilOffset = 0x16A
at ISAPIRuntime.ProcessRequest(IntPtr ecb, Int32 iWRType) ilOffset = 0x4B
>Crm Exception: Message: Error generating UiData, ErrorCode: -2147200969, InnerException: Microsoft.Crm.CrmArgumentException: ArgumentException for binaryOperator: Operator in a binary expression must be a binary operator ---> System.ArgumentException: ArgumentException for binaryOperator: Operator in a binary expression must be a binary operator
--- End of inner exception stack trace ---
at Microsoft.Crm.Workflow.Utils.ExceptionUtility.ThrowArgumentException(String message, String parameterName)
at Microsoft.Crm.Workflow.Expressions.BinaryExpression..ctor(WorkflowStep workflow, WorkflowConditionOperator binaryOperator, ExpressionBase leftOperand, ExpressionBase[] rightOperands)
at Microsoft.Crm.Workflow.ObjectModel.UIDataGenerator.ReadEvaluateCondition(EvaluateCondition activity)
at Microsoft.Crm.Workflow.ObjectModel.UIDataGenerator.ReadExpression(Collection`1 activities, Type endActivityType, Boolean customActivity, Int32& activityIndex)
at Microsoft.Crm.Workflow.ObjectModel.UIDataGenerator.ReadBranchStep(StepBase parentStep, Collection`1 sequenceActivities, Int32& activityIndex)
at Microsoft.Crm.Workflow.ObjectModel.UIDataGenerator.ReadConditionStep(Boolean wait, ConditionSequence sequence)
at Microsoft.Crm.Workflow.ObjectModel.UIDataGenerator.ReadCompositeStep(String stepId, String description, Activity activity, Collection`1 variables)
at Microsoft.Crm.Workflow.ObjectModel.UIDataGenerator.ReadSingleStep(Activity activity)
at Microsoft.Crm.Workflow.ObjectModel.UIDataGenerator.AddChildSteps(CompositeStepBase compositeStep, Composite sequence)
at Microsoft.Crm.Workflow.ObjectModel.UIDataGenerator.ReadStageStep(String stageName, Composite sequence)
at Microsoft.Crm.Workflow.ObjectModel.UIDataGenerator.ReadCompositeStep(String stepId, String description, Activity activity, Collection`1 variables)
at Microsoft.Crm.Workflow.ObjectModel.UIDataGenerator.ReadSingleStep(Activity activity)
at Microsoft.Crm.Workflow.ObjectModel.UIDataGenerator.AddChildSteps(CompositeStepBase compositeStep, Composite sequence)
at Microsoft.Crm.Workflow.ObjectModel.UIDataGenerator.ReadEntityStep(String entityLogicalName, Composite sequence)
at Microsoft.Crm.Workflow.ObjectModel.UIDataGenerator.ReadCompositeStep(String stepId, String description, Activity activity, Collection`1 variables)
at Microsoft.Crm.Workflow.ObjectModel.UIDataGenerator.ReadSingleStep(Activity activity)
at Microsoft.Crm.Workflow.ObjectModel.UIDataGenerator.GenerateWorkflowObjectModelFromXaml()
[2017-04-10 16:33:08.457] Process: w3wp |Organization:46c57b9c-ae2e-e511-9407-005056a4312c |Thread: 56 |Category: Application |User: 00000000-0000-0000-0000-000000000000 |Level: Error |ReqId: fc94972c-accf-4dbd-908c-4d95442ed18e | ErrorInformation.LogError ilOffset = 0x17
>MSCRM Error Report:
--------------------------------------------------------------------------------------------------------
Error: Error executing child request for /xxxx/_forms/read/page.aspx.
Error Number: 0x80045037
Error Message: Error generating UiData
Error Details: Error generating UiData
Source File: Not available
Line Number: Not available
Request URL: https://xxxxxxx/xxxx/main.aspx?etc=10031&extraqs=%3fetc%3d10031%26id%3d73107c85351be711941c005056b37844&pagemode=iframe&pagetype=entityrecord
Stack Trace Info: [ArgumentException: ArgumentException for binaryOperator: Operator in a binary expression must be a binary operator]
[CrmArgumentException: ArgumentException for binaryOperator: Operator in a binary expression must be a binary operator]
at Microsoft.Crm.Workflow.Utils.ExceptionUtility.ThrowArgumentException(String message, String parameterName)
at Microsoft.Crm.Workflow.Expressions.BinaryExpression..ctor(WorkflowStep workflow, WorkflowConditionOperator binaryOperator, ExpressionBase leftOperand, ExpressionBase[] rightOperands)
at Microsoft.Crm.Workflow.ObjectModel.UIDataGenerator.ReadEvaluateCondition(EvaluateCondition activity)
at Microsoft.Crm.Workflow.ObjectModel.UIDataGenerator.ReadExpression(Collection`1 activities, Type endActivityType, Boolean customActivity, Int32& activityIndex)
at Microsoft.Crm.Workflow.ObjectModel.UIDataGenerator.ReadBranchStep(StepBase parentStep, Collection`1 sequenceActivities, Int32& activityIndex)
at Microsoft.Crm.Workflow.ObjectModel.UIDataGenerator.ReadConditionStep(Boolean wait, ConditionSequence sequence)
at Microsoft.Crm.Workflow.ObjectModel.UIDataGenerator.ReadCompositeStep(String stepId, String description, Activity activity, Collection`1 variables)
at Microsoft.Crm.Workflow.ObjectModel.UIDataGenerator.ReadSingleStep(Activity activity)
at Microsoft.Crm.Workflow.ObjectModel.UIDataGenerator.AddChildSteps(CompositeStepBase compositeStep, Composite sequence)
at Microsoft.Crm.Workflow.ObjectModel.UIDataGenerator.ReadStageStep(String stageName, Composite sequence)
at Microsoft.Crm.Workflow.ObjectModel.UIDataGenerator.ReadCompositeStep(String stepId, String description, Activity activity, Collection`1 variables)
at Microsoft.Crm.Workflow.ObjectModel.UIDataGenerator.ReadSingleStep(Activity activity)
at Microsoft.Crm.Workflow.ObjectModel.UIDataGenerator.AddChildSteps(CompositeStepBase compositeStep, Composite sequence)
at Microsoft.Crm.Workflow.ObjectModel.UIDataGenerator.ReadEntityStep(String entityLogicalName, Composite sequence)
at Microsoft.Crm.Workflow.ObjectModel.UIDataGenerator.ReadCompositeStep(String stepId, String description, Activity activity, Collection`1 variables)
at Microsoft.Crm.Workflow.ObjectModel.UIDataGenerator.ReadSingleStep(Activity activity)
at Microsoft.Crm.Workflow.ObjectModel.UIDataGenerator.GenerateWorkflowObjectModelFromXaml()
[CrmException: Error generating UiData]
at Microsoft.Crm.Workflow.ObjectModel.UIDataGenerator.GenerateWorkflowObjectModelFromXaml()
at Microsoft.Crm.Workflow.ObjectModel.UIDataGenerator.GenerateUIDataFromEntity()
at Microsoft.Crm.Application.Components.Sdk.ReadFormControls.Web.ProcessControlProcessCache.DeserializeProcess(Entity processEntity)
at Microsoft.Crm.Application.Components.Sdk.ReadFormControls.Web.ProcessControlProcessCache.ReadProcessEntity(Entity processEntity)
at System.Lazy`1.CreateValue()
at System.Lazy`1.LazyInitValue()
at Microsoft.Crm.Application.Components.Sdk.ReadFormControls.Web.ProcessControl.InitializeProcess(Guid parentEntity, Int32 entityTypeCode)
at Microsoft.Crm.Application.Components.Sdk.ReadFormControls.Web.ProcessControl.GetRequiredColumns(Int32 entityTypeCode)
at Microsoft.Crm.Application.Forms.CompositeControlVisitor.HandleColumnProvider(Control control, FormDescriptor formDescriptor)
at Microsoft.Crm.Application.InlineEdit.Mediators.FormMediator.AddControlProperties(ICrmControl crmControl, ControlDescriptor controlDescriptor)
at Microsoft.Crm.Application.InlineEdit.Mediators.FormMediator.ProcessControlHierarchy(Action`2 controlHandler)
at Microsoft.Crm.Application.InlineEdit.Mediators.FormMediator.GetInstance(FormFactor formFactor, FormDescriptor descriptor, Guid processId, Int64 processVersionNumber, IOrganizationContext organizationContext)
at Microsoft.Crm.Application.InlineEdit.Mediators.FormMediator.GetInstance(FormFactor formFactor, Int32 entityTypeCode, Guid processId, Int64 processVersionNumber, IOrganizationContext organizationContext)
at Microsoft.Crm.Application.InlineEdit.ReadFormDataBuilder..ctor(String recordId, String entityTypeCode, Guid formId, FormFactor formFactor)
at Microsoft.Crm.Application.InlineEdit.ReadFormDataBuilder..ctor(String recordId, String entityTypeCode, FormFactor formFactor)
at Microsoft.Crm.Application.Pages.Common.ReadFormPage.PopulateFormDescriptorAndDataBuilder()
at Microsoft.Crm.Application.Pages.Common.ReadFormPage.OnPreInit()
at Microsoft.Crm.Application.Controls.AppUIPage.OnInit(EventArgs e)
at Microsoft.Crm.Application.Controls.AppPage.OnInit(EventArgs e)
at System.Web.UI.Control.InitRecursive(Control namingContainer)
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.HttpServerUtility.ExecuteInternal(IHttpHandler handler, TextWriter writer, Boolean preserveForm, Boolean setPreviousPage, VirtualPath path, VirtualPath filePath, String physPath, Exception error, String queryStringOverride)
[HttpException: Error executing child request for /xxxx/_forms/read/page.aspx.]
at System.Web.HttpServerUtility.ExecuteInternal(IHttpHandler handler, TextWriter writer, Boolean preserveForm, Boolean setPreviousPage, VirtualPath path, VirtualPath filePath, String physPath, Exception error, String queryStringOverride)
at System.Web.HttpServerUtility.Execute(String path, TextWriter writer, Boolean preserveForm)
at System.Web.HttpServerUtility.Transfer(String path)
at System.Web.UI.Control.PreRenderRecursiveInternal()
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)
[2017-04-10 16:33:08.457] Process: w3wp |Organization:00000000-0000-0000-0000-000000000000 |Thread: 56 |Category: Platform |User: 00000000-0000-0000-0000-000000000000 |Level: Error |ReqId: fc94972c-accf-4dbd-908c-4d95442ed18e | ExceptionConverter.ConvertMessageAndErrorCode ilOffset = 0x23B
>System.Web.HttpException: Microsoft Dynamics CRM has experienced an error. Reference number for administrators or support: #CC717E61: System.Web.HttpException (0x80004005): Error executing child request for /xxxx/_forms/read/page.aspx. ---> System.Web.HttpUnhandledException (0x80004005): Exception of type 'System.Web.HttpUnhandledException' was thrown. ---> Microsoft.Crm.CrmException: Error generating UiData ---> Microsoft.Crm.CrmArgumentException: ArgumentException for binaryOperator: Operator in a binary expression must be a binary operator ---> System.ArgumentException: ArgumentException for binaryOperator: Operator in a binary expression must be a binary operator
> --- End of inner exception stack trace ---
> at Microsoft.Crm.Workflow.Utils.ExceptionUtility.ThrowArgumentException(String message, String parameterName)
> at Microsoft.Crm.Workflow.Expressions.BinaryExpression..ctor(WorkflowStep workflow, WorkflowConditionOperator binaryOperator, ExpressionBase leftOperand, ExpressionBase[] rightOperands)
> at Microsoft.Crm.Workflow.ObjectModel.UIDataGenerator.ReadEvaluateCondition(EvaluateCondition activity)
> at Microsoft.Crm.Workflow.ObjectModel.UIDataGenerator.ReadExpression(Collection`1 activities, Type endActivityType, Boolean customActivity, Int32& activityIndex)
> at Microsoft.Crm.Workflow.ObjectModel.UIDataGenerator.ReadBranchStep(StepBase parentStep, Collection`1 sequenceActivities, Int32& activityIndex)
> at Microsoft.Crm.Workflow.ObjectModel.UIDataGenerator.ReadConditionStep(Boolean wait, ConditionSequence sequence)
> at Microsoft.Crm.Workflow.ObjectModel.UIDataGenerator.ReadCompositeStep(String stepId, String description, Activity activity, Collection`1 variables)
> at Microsoft.Crm.Workflow.ObjectModel.UIDataGenerator.ReadSingleStep(Activity activity)
> at Microsoft.Crm.Workflow.ObjectModel.UIDataGenerator.AddChildSteps(CompositeStepBase compositeStep, Composite sequence)
> at Microsoft.Crm.Workflow.ObjectModel.UIDataGenerator.ReadStageStep(String stageName, Composite sequence)
> at Microsoft.Crm.Workflow.ObjectModel.UIDataGenerator.ReadCompositeStep(String stepId, String description, Activity activity, Collection`1 variables)
> at Microsoft.Crm.Workflow.ObjectModel.UIDataGenerator.ReadSingleStep(Activity activity)
> at Microsoft.Crm.Workflow.ObjectModel.UIDataGenerator.AddChildSteps(CompositeStepBase compositeStep, Composite sequence)
> at Microsoft.Crm.Workflow.ObjectModel.UIDataGenerator.ReadEntityStep(String entityLogicalName, Composite sequence)
> at Microsoft.Crm.Workflow.ObjectModel.UIDataGenerator.ReadCompositeStep(String stepId, String description, Activity activity, Collection`1 variables)
> at Microsoft.Crm.Workflow.ObjectModel.UIDataGenerator.ReadSingleStep(Activity activity)
> at Microsoft.Crm.Workflow.ObjectModel.UIDataGenerator.GenerateWorkflowObjectModelFromXaml()
> --- End of inner exception stack trace ---
> at Microsoft.Crm.Workflow.ObjectModel.UIDataGenerator.GenerateWorkflowObjectModelFromXaml()
> at Microsoft.Crm.Workflow.ObjectModel.UIDataGenerator.GenerateUIDataFromEntity()
> at Microsoft.Crm.Application.Components.Sdk.ReadFormControls.Web.ProcessControlProcessCache.DeserializeProcess(Entity processEntity)
> at Microsoft.Crm.Application.Components.Sdk.ReadFormControls.Web.ProcessControlProcessCache.ReadProcessEntity(Entity processEntity)
> at System.Lazy`1.CreateValue()
> at System.Lazy`1.LazyInitValue()
> at Microsoft.Crm.Application.Components.Sdk.ReadFormControls.Web.ProcessControl.InitializeProcess(Guid parentEntity, Int32 entityTypeCode)
> at Microsoft.Crm.Application.Components.Sdk.ReadFormControls.Web.ProcessControl.GetRequiredColumns(Int32 entityTypeCode)
> at Microsoft.Crm.Application.Forms.CompositeControlVisitor.HandleColumnProvider(Control control, FormDescriptor formDescriptor)
> at Microsoft.Crm.Application.InlineEdit.Mediators.FormMediator.AddControlProperties(ICrmControl crmControl, ControlDescriptor controlDescriptor)
> at Microsoft.Crm.Application.InlineEdit.Mediators.FormMediator.ProcessControlHierarchy(Action`2 controlHandler)
> at Microsoft.Crm.Application.InlineEdit.Mediators.FormMediator.GetInstance(FormFactor formFactor, FormDescriptor descriptor, Guid processId, Int64 processVersionNumber, IOrganizationContext organizationContext)
> at Microsoft.Crm.Application.InlineEdit.Mediators.FormMediator.GetInstance(FormFactor formFactor, Int32 entityTypeCode, Guid processId, Int64 processVersionNumber, IOrganizationContext organizationContext)
> at Microsoft.Crm.Application.InlineEdit.ReadFormDataBuilder..ctor(String recordId, String entityTypeCode, Guid formId, FormFactor formFactor)
> at Microsoft.Crm.Application.InlineEdit.ReadFormDataBuilder..ctor(String recordId, String entityTypeCode, FormFactor formFactor)
> at Microsoft.Crm.Application.Pages.Common.ReadFormPage.PopulateFormDescriptorAndDataBuilder()
> at Microsoft.Crm.Application.Pages.Common.ReadFormPage.OnPreInit()
> at Microsoft.Crm.Application.Controls.AppUIPage.OnInit(EventArgs e)
> at Microsoft.Crm.Application.Controls.AppPage.OnInit(EventArgs e)
> at System.Web.UI.Control.InitRecursive(Control namingContainer)
> 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.HttpServerUtility.ExecuteInternal(IHttpHandler handler, TextWriter writer, Boolean preserveForm, Boolean setPreviousPage, VirtualPath path, VirtualPath filePath, String physPath, Exception error, String queryStringOverride)
> at System.Web.HttpServerUtility.ExecuteInternal(IHttpHandler handler, TextWriter writer, Boolean preserveForm, Boolean setPreviousPage, VirtualPath path, VirtualPath filePath, String physPath, Exception error, String queryStringOverride)
> at System.Web.HttpServerUtility.Execute(String path, TextWriter writer, Boolean preserveForm)
> at System.Web.HttpServerUtility.Transfer(String path)
> at System.Web.UI.Control.PreRenderRecursiveInternal()
> 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)
[2017-04-10 16:33:08.457] Process: w3wp |Organization:00000000-0000-0000-0000-000000000000 |Thread: 56 |Category: Platform |User: 00000000-0000-0000-0000-000000000000 |Level: Error |ReqId: fc94972c-accf-4dbd-908c-4d95442ed18e | ExceptionConverter.ConvertMessageAndErrorCode ilOffset = 0x23B
>System.Web.HttpUnhandledException: Microsoft Dynamics CRM has experienced an error. Reference number for administrators or support: #8A530362: System.Web.HttpUnhandledException (0x80004005): Exception of type 'System.Web.HttpUnhandledException' was thrown. ---> Microsoft.Crm.CrmException: Error generating UiData ---> Microsoft.Crm.CrmArgumentException: ArgumentException for binaryOperator: Operator in a binary expression must be a binary operator ---> System.ArgumentException: ArgumentException for binaryOperator: Operator in a binary expression must be a binary operator
> --- End of inner exception stack trace ---
> at Microsoft.Crm.Workflow.Utils.ExceptionUtility.ThrowArgumentException(String message, String parameterName)
> at Microsoft.Crm.Workflow.Expressions.BinaryExpression..ctor(WorkflowStep workflow, WorkflowConditionOperator binaryOperator, ExpressionBase leftOperand, ExpressionBase[] rightOperands)
> at Microsoft.Crm.Workflow.ObjectModel.UIDataGenerator.ReadEvaluateCondition(EvaluateCondition activity)
> at Microsoft.Crm.Workflow.ObjectModel.UIDataGenerator.ReadExpression(Collection`1 activities, Type endActivityType, Boolean customActivity, Int32& activityIndex)
> at Microsoft.Crm.Workflow.ObjectModel.UIDataGenerator.ReadBranchStep(StepBase parentStep, Collection`1 sequenceActivities, Int32& activityIndex)
> at Microsoft.Crm.Workflow.ObjectModel.UIDataGenerator.ReadConditionStep(Boolean wait, ConditionSequence sequence)
> at Microsoft.Crm.Workflow.ObjectModel.UIDataGenerator.ReadCompositeStep(String stepId, String description, Activity activity, Collection`1 variables)
> at Microsoft.Crm.Workflow.ObjectModel.UIDataGenerator.ReadSingleStep(Activity activity)
> at Microsoft.Crm.Workflow.ObjectModel.UIDataGenerator.AddChildSteps(CompositeStepBase compositeStep, Composite sequence)
> at Microsoft.Crm.Workflow.ObjectModel.UIDataGenerator.ReadStageStep(String stageName, Composite sequence)
> at Microsoft.Crm.Workflow.ObjectModel.UIDataGenerator.ReadCompositeStep(String stepId, String description, Activity activity, Collection`1 variables)
> at Microsoft.Crm.Workflow.ObjectModel.UIDataGenerator.ReadSingleStep(Activity activity)
> at Microsoft.Crm.Workflow.ObjectModel.UIDataGenerator.AddChildSteps(CompositeStepBase compositeStep, Composite sequence)
> at Microsoft.Crm.Workflow.ObjectModel.UIDataGenerator.ReadEntityStep(String entityLogicalName, Composite sequence)
> at Microsoft.Crm.Workflow.ObjectModel.UIDataGenerator.ReadCompositeStep(String stepId, String description, Activity activity, Collection`1 variables)
> at Microsoft.Crm.Workflow.ObjectModel.UIDataGenerator.ReadSingleStep(Activity activity)
> at Microsoft.Crm.Workflow.ObjectModel.UIDataGenerator.GenerateWorkflowObjectModelFromXaml()
> --- End of inner exception stack trace ---
> at Microsoft.Crm.Workflow.ObjectModel.UIDataGenerator.GenerateWorkflowObjectModelFromXaml()
> at Microsoft.Crm.Workflow.ObjectModel.UIDataGenerator.GenerateUIDataFromEntity()
> at Microsoft.Crm.Application.Components.Sdk.ReadFormControls.Web.ProcessControlProcessCache.DeserializeProcess(Entity processEntity)
> at Microsoft.Crm.Application.Components.Sdk.ReadFormControls.Web.ProcessControlProcessCache.ReadProcessEntity(Entity processEntity)
> at System.Lazy`1.CreateValue()
> at System.Lazy`1.LazyInitValue()
> at Microsoft.Crm.Application.Components.Sdk.ReadFormControls.Web.ProcessControl.InitializeProcess(Guid parentEntity, Int32 entityTypeCode)
> at Microsoft.Crm.Application.Components.Sdk.ReadFormControls.Web.ProcessControl.GetRequiredColumns(Int32 entityTypeCode)
> at Microsoft.Crm.Application.Forms.CompositeControlVisitor.HandleColumnProvider(Control control, FormDescriptor formDescriptor)
> at Microsoft.Crm.Application.InlineEdit.Mediators.FormMediator.AddControlProperties(ICrmControl crmControl, ControlDescriptor controlDescriptor)
> at Microsoft.Crm.Application.InlineEdit.Mediators.FormMediator.ProcessControlHierarchy(Action`2 controlHandler)
> at Microsoft.Crm.Application.InlineEdit.Mediators.FormMediator.GetInstance(FormFactor formFactor, FormDescriptor descriptor, Guid processId, Int64 processVersionNumber, IOrganizationContext organizationContext)
> at Microsoft.Crm.Application.InlineEdit.Mediators.FormMediator.GetInstance(FormFactor formFactor, Int32 entityTypeCode, Guid processId, Int64 processVersionNumber, IOrganizationContext organizationContext)
> at Microsoft.Crm.Application.InlineEdit.ReadFormDataBuilder..ctor(String recordId, String entityTypeCode, Guid formId, FormFactor formFactor)
> at Microsoft.Crm.Application.InlineEdit.ReadFormDataBuilder..ctor(String recordId, String entityTypeCode, FormFactor formFactor)
> at Microsoft.Crm.Application.Pages.Common.ReadFormPage.PopulateFormDescriptorAndDataBuilder()
> at Microsoft.Crm.Application.Pages.Common.ReadFormPage.OnPreInit()
> at Microsoft.Crm.Application.Controls.AppUIPage.OnInit(EventArgs e)
> at Microsoft.Crm.Application.Controls.AppPage.OnInit(EventArgs e)
> at System.Web.UI.Control.InitRecursive(Control namingContainer)
> 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.HttpServerUtility.ExecuteInternal(IHttpHandler handler, TextWriter writer, Boolean preserveForm, Boolean setPreviousPage, VirtualPath path, VirtualPath filePath, String physPath, Exception error, String queryStringOverride)
Wednesday, April 12, 2017 1:16 PM -
Unfortunately it doesn't look like this is giving the id of the process that causes the error. If you include logging of the SQL statements that might give more information, but it's a lot to wade through.
If a given record reliably throws the error, it may be simpler to progressively disable the business rules and process flows and see when the error stops
Microsoft CRM MVP - http://mscrmuk.blogspot.com/ http://www.excitation.co.uk
Wednesday, April 12, 2017 3:03 PMModerator -
Hi Moderator,
This error only occur in my production environment and there are lots of business rules and process flows in my solution, so it is impossible for me to disable them progressively to investigate this issue, thank you all the same. is there any other way to troubleshoot this problem?
Thanks,
Thursday, April 13, 2017 5:08 AM -
I'd suggest taking a copy of your production environment (use SQL backup and restore, then import the database as a new organisation), and try disabling the processes progressively there. It's almost certain that the issue is somewhere in the data or metadata in the organisation database, so you should be able to reproduce the error; if you can't reproduce the error then that means it is more likely a bug in the CRM code
Microsoft CRM MVP - http://mscrmuk.blogspot.com/ http://www.excitation.co.uk
Tuesday, April 18, 2017 11:34 AMModerator -
Moderator thanks for your suggest, I will try.
Thanks,
Wednesday, April 19, 2017 1:56 AM