我在生产中部署了一个解决方案,从那时起,特定的对话框无法正常工作。在我已经在生产中导入的解决方案中,该对话框确实存在,但我没有修改它。只添加了一些其他工作流程,当我部署时,我选择覆盖目标环境(生产)中的所有自定义。
出于某些原因,安全角色已被修改,即使它们不是解决方案的一部分(?)。从那时起,我们修复了角色,以便我们的工作流程/对话框再次起作用,但我们仍然遇到一个对话框的问题。
这是日志文件:
>Crm Exception: Message: SecLib::AccessCheckEx failed. Returned hr = -2147187962, ObjectID: 3732d599-343b-e211-ada4-0050569512fe, OwnerId: 8a3819fd-333b-e211-ada4-0050569512fe, OwnerIdType: 9 and CallingUser: a6e65698-daa2-e211-bd17-0050569512fe. ObjectTypeCode: 2020, objectBusinessUnitId: 765d6665-293b-e211-ada4-0050569512fe, AccessRights: ReadAccess , ErrorCode: -2147187962
[2014-04-15 08:28:37.797] Process: w3wp |Organization:f6ff335a-293b-e211-ada4-0050569512fe |Thread: 13 |Category: Platform.Sdk |User: a094a9a1-29f2-4079-972c-b682b966825c |Level: Error |ReqId: 85a8444a-bcd0-4de6-ada5-30e8eea8a142 | VersionedPluginProxyStepBase.Execute ilOffset = 0x65
>Web Service Plug-in failed in SdkMessageProcessingStepId: {CFCBBB1B-EA3E-DB11-86A7-000A3A5473E8}; EntityName: queueitem; Stage: 30; MessageName: Retrieve; AssemblyName: Microsoft.Crm.Extensibility.InternalOperationPlugin, Microsoft.Crm.ObjectModel, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35; ClassName: Microsoft.Crm.Extensibility.InternalOperationPlugin; Exception: Unhandled Exception: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation.
at System.RuntimeMethodHandle._InvokeMethodFast(IRuntimeMethodInfo method, Object target, Object[] arguments, SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeType 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(IServiceProvider serviceProvider)
at Microsoft.Crm.Extensibility.V5PluginProxyStep.ExecuteInternal(PipelineExecutionContext context)
at Microsoft.Crm.Extensibility.VersionedPluginProxyStepBase.Execute(PipelineExecutionContext context)
Inner Exception: Microsoft.Crm.CrmSecurityException: SecLib::AccessCheckEx failed. Returned hr = -2147187962, ObjectID: 3732d599-343b-e211-ada4-0050569512fe, OwnerId: 8a3819fd-333b-e211-ada4-0050569512fe, OwnerIdType: 9 and CallingUser: a6e65698-daa2-e211-bd17-0050569512fe. ObjectTypeCode: 2020, objectBusinessUnitId: 765d6665-293b-e211-ada4-0050569512fe, AccessRights: ReadAccess
at Microsoft.Crm.BusinessEntities.SecurityLibrary.AccessCheckEx2(ExecutionContext context, SecurityPrincipal principal, SecurityPrincipal ownerPrincipal, Guid objectId, Int32 objectTypeCode, Guid objectBusinessUnitId, AccessRights rights)
at Microsoft.Crm.BusinessEntities.SecurityLibrary.AccessCheckEx(ExecutionContext context, SecurityPrincipal ownerPrincipal, Guid objectId, Int32 objectTypeCode, Guid objectBusinessUnitId, AccessRights rights)
at Microsoft.Crm.BusinessEntities.SecurityLibrary.AccessCheckEx(ExecutionContext context, SecurityAttributes attributes, AccessRights rights)
at Microsoft.Crm.BusinessEntities.SecurityExtension.PostRetrieveHandler(Object sender, ExtensionEventArgs e)
at Microsoft.Crm.BusinessEntities.BusinessProcessObject.Retrieve(BusinessEntityMoniker moniker, EntityExpression entityExpression, ExecutionContext context, Int32 languageCode, DatabaseQueryTarget queryTarget)
at Microsoft.Crm.BusinessEntities.BusinessProcessObject.Retrieve(BusinessEntityMoniker moniker, EntityExpression entityExpression, ExecutionContext context, Int32 languageCode)
at Microsoft.Crm.BusinessEntities.BusinessProcessObject.Retrieve(BusinessEntityMoniker moniker, EntityExpression entityExpression, ExecutionContext context)
我试图获取有关ID为SdkMessageProcessingStepId
的{{1}}的更多信息,但我无法在表格中找到任何内容。
我确保用户的角色可以正确访问CFCBBB1B-EA3E-DB11-86A7-000A3A5473E8
ObjectTypeCode
,顺便说一下,在其他环境(TEST)中正常工作。
对于格式化,我尽力使其可读。
答案 0 :(得分:1)
错误很明显:
SecLib :: AccessCheckEx失败
这意味着权限错误
ObjectTypeCode:2020
涉及的实体,在本例中为Queue
AccessRights:ReadAccess
缺少权限,在本例中为Read
CallingUser:a6e65698-daa2-e211-bd17-0050569512fe
缺少此权限的用户ID。