【问题标题】:Crm 4.0 Unknown error updating Workflow assemblyCrm 4.0 更新工作流程序集的未知错误
【发布时间】:2012-03-18 12:13:42
【问题描述】:

我在 Crm 4.0 Roll-up 14 中有自定义工作流程序集,其中包含大约 10 个活动,每次更改时都会收到未知错误并且无法更新。当尝试浏览到 Crm 中的工作流设计器时,这也会导致 NullRerferenceException。

奇怪的是,它只发生在这个程序集上,如果我删除它并从头开始重新添加它,它工作正常。

这是我得到的错误...

未处理的异常:System.Web.Services.Protocols.SoapException:服务器无法处理请求。 细节: 0x80040216 一个意料之外的问题发生了。 平台 在 System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage 消息,WebResponse 响应,流 responseStream,布尔 asyncCall) 在 System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(字符串方法名,对象 [] 参数) 在 PluginRegistrationTool.CrmSdk.CrmService.Create(BusinessEntity 实体) 在 PluginRegistrationTool.RegistrationHelper.RegisterPluginType(CrmOrganization org,CrmPlugin 插件) 在 PluginRegistrationTool.PluginRegistrationForm.btnRegister_Click(Object sender, EventArgs e)

当我启用跟踪时,我收到以下错误,有人知道从这里去哪里吗?

抱歉,有这么大的跟踪日志转储...

在期望对象 ID 的单个属性时无法检索引用的属性:{45D0F927-5258-E111-AD6A-000C2954073E} [2012-02-29 08:45:50.1] 进程:w3wp |组织:a9ae572d-fabe-4c6c-9a39-8d8882462a55 |线程:21 |类别:平台 |用户:d6ef60ac-4638-de11-ba36-000f1f66b919 |级别:错误 |消息处理器.执行 在 MessageProcessor.Execute(PipelineExecutionContext 上下文) 在 InternalMessageDispatcher.Execute(PipelineExecutionContext 上下文) 在 ExternalMessageDispatcher.Execute(字符串 messageName、Int32 primaryObjectTypeCode、Int32 secondaryObjectTypeCode、PropertyBag 字段、CorrelationToken correlationToken、CallerOriginToken originToken、UserAuth userAuth、Guid callerId) 在 CrmServiceInternal.Create(字符串命名空间名称、BusinessEntityBase 实体、CorrelationToken 相关令牌、CallerOriginToken originToken、UserAuth userAuth、Guid callerId) 在 CrmService.Create(BusinessEntity 实体) 在 RuntimeMethodHandle._InvokeMethodFast(对象目标,Object[] 参数,SignatureStruct& sig,MethodAttributes methodAttributes,RuntimeTypeHandle typeOwner) 在 RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] 参数, CultureInfo 文化, Boolean skipVisibilityChecks) 在 RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] 参数, CultureInfo 文化) 在 LogicalMethodInfo.Invoke(对象目标,对象 [] 值) 在 WebServiceHandler.Invoke() 在 WebServiceHandler.CoreProcessRequest() 在 SyncSessionlessHandler.ProcessRequest(HttpContext 上下文) 在 CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() 在 HttpApplication.ExecuteStep(IExecutionStep 步骤,Boolean& completedSynchronously) 在 ApplicationStepManager.ResumeSteps(异常错误) 在 HttpApplication.System.Web.IHttpAsyncHandler.BeginProcessRequest(HttpContext 上下文,AsyncCallback cb,对象 extraData) 在 HttpRuntime.ProcessRequestInternal(HttpWorkerRequest WR) 在 HttpRuntime.ProcessRequestNoDemand(HttpWorkerRequest WR) 在 ISAPIRuntime.ProcessRequest(IntPtr ecb, Int32 iWRType)

MessageProcessor 无法为“plugintype”处理消息“Create”。 [2012-02-29 08:45:50.2] 进程:w3wp |组织:a9ae572d-fabe-4c6c-9a39-8d8882462a55 |线程:21 |类别:Platform.Sdk |用户:d6ef60ac-4638-de11-ba36-000f1f66b919 |级别:错误 | CompositeSoapExtensionExceptionHandler.Handle 在 CompositeSoapExtensionExceptionHandler.Handle(流到,流从,异常异常) 在 CrmAuthenticationSoapExtensionBase.ProcessMessage(SoapMessage 消息) 在 SoapMessage.RunExtensions(SoapExtension[] 扩展,布尔 throwOnException) 在 SoapServerProtocol.WriteException(异常 e,流 outputStream) 在 WebServiceHandler.WriteException(异常 e) 在 WebServiceHandler.Invoke() 在 WebServiceHandler.CoreProcessRequest() 在 SyncSessionlessHandler.ProcessRequest(HttpContext 上下文) 在 CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() 在 HttpApplication.ExecuteStep(IExecutionStep 步骤,Boolean& completedSynchronously) 在 ApplicationStepManager.ResumeSteps(异常错误) 在 HttpApplication.System.Web.IHttpAsyncHandler.BeginProcessRequest(HttpContext 上下文,AsyncCallback cb,对象 extraData) 在 HttpRuntime.ProcessRequestInternal(HttpWorkerRequest WR) 在 HttpRuntime.ProcessRequestNoDemand(HttpWorkerRequest WR) 在 ISAPIRuntime.ProcessRequest(IntPtr ecb,Int32 iWRType) CrmSoapExtension 检测到非 CrmException - 报告将发送到 Watson: System.Web.Services.Protocols.SoapException:服务器无法处理请求。 ---> System.Reflection.TargetInvocationException:调用的目标已抛出异常。 ---> System.NullReferenceException:对象引用未设置为对象的实例。 在 Microsoft.Crm.ObjectModel.PluginTypeServiceInternal1.CheckDuplicateActivityName(String name, ExecutionContext context) at Microsoft.Crm.ObjectModel.PluginTypeServiceInternal1.ValidateCustomActivity(PluginType 实体,ExecutionContext 上下文) 在 Microsoft.Crm.ObjectModel.PluginTypeServiceInternal`1.Create(IBusinessEntity 实体,ExecutionContext 上下文) --- 内部异常堆栈跟踪结束 --- 在 System.RuntimeMethodHandle._InvokeMethodFast(对象目标,Object[] 参数,SignatureStruct& sig,MethodAttributes methodAttributes,RuntimeTypeHandle typeOwner) 在 System.Reflection.RuntimeMethodInfo.Invoke(Object obj,BindingFlags invokeAttr,Binder binder,Object[] 参数,CultureInfo 文化,布尔型 skipVisibilityChecks) 在 System.Reflection.RuntimeMethodInfo.Invoke(Object obj,BindingFlags invokeAttr,Binder binder,Object[] 参数,CultureInfo 文化) 在 System.Web.Services.Protocols.LogicalMethodInfo.Invoke(对象目标,对象 [] 值) 在 Microsoft.Crm.Extensibility.InternalOperationPlugin.Execute(IPluginExecutionContext 上下文) 在 Microsoft.Crm.Extensibility.PluginStep.Execute(PipelineExecutionContext 上下文) 在 Microsoft.Crm.Extensibility.Pipeline.Execute(PipelineExecutionContext 上下文) 在 Microsoft.Crm.Extensibility.MessageProcessor.Execute(PipelineExecutionContext 上下文) 在 Microsoft.Crm.Extensibility.InternalMessageDispatcher.Execute(PipelineExecutionContext 上下文) 在 Microsoft.Crm.Extensibility.ExternalMessageDispatcher.Execute(字符串 messageName、Int32 primaryObjectTypeCode、Int32 secondaryObjectTypeCode、PropertyBag 字段、CorrelationToken correlationToken、CallerOriginToken originToken、UserAuth userAuth、Guid callerId) 在 Microsoft.Crm.Sdk.CrmServiceInternal.Create(字符串命名空间名称、BusinessEntityBase 实体、CorrelationToken 相关令牌、CallerOriginToken originToken、UserAuth userAuth、Guid callerId) 在 Microsoft.Crm.Sdk.Crm2007.CrmService.Create(BusinessEntity 实体) --- 内部异常堆栈跟踪结束 ---

[2012-02-29 08:46:03.7] 进程:w3wp |组织:a9ae572d-fabe-4c6c-9a39-8d8882462a55 |线程:21 |类别:平台 |用户:d6ef60ac-4638-de11-ba36-000f1f66b919 |级别:错误 |消息处理器.执行 在 MessageProcessor.Execute(PipelineExecutionContext 上下文) 在 InternalMessageDispatcher.Execute(PipelineExecutionContext 上下文) 在 ExternalMessageDispatcher.Execute(字符串 messageName、Int32 primaryObjectTypeCode、Int32 secondaryObjectTypeCode、PropertyBag 字段、CorrelationToken correlationToken、CallerOriginToken originToken、UserAuth userAuth、Guid callerId) 在 CrmServiceInternal.Create(字符串命名空间名称、BusinessEntityBase 实体、CorrelationToken 相关令牌、CallerOriginToken originToken、UserAuth userAuth、Guid callerId) 在 CrmService.Create(BusinessEntity 实体) 在 RuntimeMethodHandle._InvokeMethodFast(对象目标,Object[] 参数,SignatureStruct& sig,MethodAttributes methodAttributes,RuntimeTypeHandle typeOwner) 在 RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] 参数, CultureInfo 文化, Boolean skipVisibilityChecks) 在 RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] 参数, CultureInfo 文化) 在 LogicalMethodInfo.Invoke(对象目标,对象 [] 值) 在 WebServiceHandler.Invoke() 在 WebServiceHandler.CoreProcessRequest() 在 SyncSessionlessHandler.ProcessRequest(HttpContext 上下文) 在 CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() 在 HttpApplication.ExecuteStep(IExecutionStep 步骤,Boolean& completedSynchronously) 在 ApplicationStepManager.ResumeSteps(异常错误) 在 HttpApplication.System.Web.IHttpAsyncHandler.BeginProcessRequest(HttpContext 上下文,AsyncCallback cb,对象 extraData) 在 HttpRuntime.ProcessRequestInternal(HttpWorkerRequest WR) 在 HttpRuntime.ProcessRequestNoDemand(HttpWorkerRequest WR) 在 ISAPIRuntime.ProcessRequest(IntPtr ecb, Int32 iWRType)

MessageProcessor 无法为“plugintype”处理消息“Create”。 [2012-02-29 08:46:03.7] 进程:w3wp |组织:a9ae572d-fabe-4c6c-9a39-8d8882462a55 |线程:21 |类别:Platform.Sdk |用户:d6ef60ac-4638-de11-ba36-000f1f66b919 |级别:错误 | CompositeSoapExtensionExceptionHandler.Handle 在 CompositeSoapExtensionExceptionHandler.Handle(流到,流从,异常异常) 在 CrmAuthenticationSoapExtensionBase.ProcessMessage(SoapMessage 消息) 在 SoapMessage.RunExtensions(SoapExtension[] 扩展,布尔 throwOnException) 在 SoapServerProtocol.WriteException(异常 e,流 outputStream) 在 WebServiceHandler.WriteException(异常 e) 在 WebServiceHandler.Invoke() 在 WebServiceHandler.CoreProcessRequest() 在 SyncSessionlessHandler.ProcessRequest(HttpContext 上下文) 在 CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() 在 HttpApplication.ExecuteStep(IExecutionStep 步骤,Boolean& completedSynchronously) 在 ApplicationStepManager.ResumeSteps(异常错误) 在 HttpApplication.System.Web.IHttpAsyncHandler.BeginProcessRequest(HttpContext 上下文,AsyncCallback cb,对象 extraData) 在 HttpRuntime.ProcessRequestInternal(HttpWorkerRequest WR) 在 HttpRuntime.ProcessRequestNoDemand(HttpWorkerRequest WR) 在 ISAPIRuntime.ProcessRequest(IntPtr ecb,Int32 iWRType) CrmSoapExtension 检测到非 CrmException - 报告将发送到 Watson: System.Web.Services.Protocols.SoapException:服务器无法处理请求。 ---> System.Reflection.TargetInvocationException:调用的目标已抛出异常。 ---> System.NullReferenceException:对象引用未设置为对象的实例。 在 Microsoft.Crm.ObjectModel.PluginTypeServiceInternal1.CheckDuplicateActivityName(String name, ExecutionContext context) at Microsoft.Crm.ObjectModel.PluginTypeServiceInternal1.ValidateCustomActivity(PluginType 实体,ExecutionContext 上下文) 在 Microsoft.Crm.ObjectModel.PluginTypeServiceInternal`1.Create(IBusinessEntity 实体,ExecutionContext 上下文) --- 内部异常堆栈跟踪结束 --- 在 System.RuntimeMethodHandle._InvokeMethodFast(对象目标,Object[] 参数,SignatureStruct& sig,MethodAttributes methodAttributes,RuntimeTypeHandle typeOwner) 在 System.Reflection.RuntimeMethodInfo.Invoke(Object obj,BindingFlags invokeAttr,Binder binder,Object[] 参数,CultureInfo 文化,布尔型 skipVisibilityChecks) 在 System.Reflection.RuntimeMethodInfo.Invoke(Object obj,BindingFlags invokeAttr,Binder binder,Object[] 参数,CultureInfo 文化) 在 System.Web.Services.Protocols.LogicalMethodInfo.Invoke(对象目标,对象 [] 值) 在 Microsoft.Crm.Extensibility.InternalOperationPlugin.Execute(IPluginExecutionContext 上下文) 在 Microsoft.Crm.Extensibility.PluginStep.Execute(PipelineExecutionContext 上下文) 在 Microsoft.Crm.Extensibility.Pipeline.Execute(PipelineExecutionContext 上下文) 在 Microsoft.Crm.Extensibility.MessageProcessor.Execute(PipelineExecutionContext 上下文) 在 Microsoft.Crm.Extensibility.InternalMessageDispatcher.Execute(PipelineExecutionContext 上下文) 在 Microsoft.Crm.Extensibility.ExternalMessageDispatcher.Execute(字符串 messageName、Int32 primaryObjectTypeCode、Int32 secondaryObjectTypeCode、PropertyBag 字段、CorrelationToken correlationToken、CallerOriginToken originToken、UserAuth userAuth、Guid callerId) 在 Microsoft.Crm.Sdk.CrmServiceInternal.Create(字符串命名空间名称、BusinessEntityBase 实体、CorrelationToken 相关令牌、CallerOriginToken originToken、UserAuth userAuth、Guid callerId) 在 Microsoft.Crm.Sdk.Crm2007.CrmService.Create(BusinessEntity 实体) --- 内部异常堆栈跟踪结束 ---

【问题讨论】:

  • 可能有重复记录?

标签: dynamics-crm crm dynamics-crm-4 workflow-activity


【解决方案1】:

我看到的关键部分按细节递增的顺序排列:

MessageProcessor 无法为“plugintype”处理消息“Create”

Microsoft.Crm.ObjectModel.PluginTypeServiceInternal1.CheckDuplicateActivityName

在期望对象 ID 的单个属性时无法检索引用的属性:{45D0F927-5258-E111-AD6A-000C2954073E}

所以我认为安华是正确的,这是重复的。更具体地说,这个程序集有一个与现有插件同名的插件。尝试从插件表中选择并查看名称。

select name, * from plugintype

名称字段将是自定义程序集中的类名,它们不能重复。您可以识别插件类,因为它们继承自 Microsoft.Xrm.Sdk.IPlugin

【讨论】:

    猜你喜欢
    • 2014-08-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多