【发布时间】:2018-03-02 19:40:48
【问题描述】:
我正在尝试更新启用业务流程工作流 (BPF) 的实体的 stageid,以尝试使用 Odata api 移动下一个阶段。
以下是我的 HTTP 请求详细信息
[organization]/api/data/v8.1/MyEntity(0df630c1-3e1e-e811-810f-3863bb35ed38)
Method :- Patch
Body :-
{"stageid@odata.bind":"/processstages(0e603558-a5e2-176b-6c18-3b498377ab12)","traversedpath":"4625784d-7813-4e07-aef5-a7e3f231219f,0e603558-a5e2-176b-6c18-3b498377ab12"}
但是,我的请求因无效转换异常而失败。
{
"error":{
"code":"","message":"System.InvalidCastException: Microsoft Dynamics CRM has experienced an error. Reference number for administrators or support: #E6D73AE1","innererror":{
"message":"System.InvalidCastException: Microsoft Dynamics CRM has experienced an error. Reference number for administrators or support: #E6D73AE1","type":"System.ServiceModel.FaultException`1[[Microsoft.Xrm.Sdk.OrganizationServiceFault, Microsoft.Xrm.Sdk, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]]","stacktrace":" at Microsoft.Crm.Extensibility.OrganizationSdkServiceInternal.Update(Entity entity, CorrelationToken correlationToken, CallerOriginToken callerOriginToken, WebServiceType serviceType, Boolean checkAdminMode, Boolean checkForOptimisticConcurrency, Dictionary`2 optionalParameters)\r\n at Microsoft.Crm.Extensibility.OData.CrmODataExecutionContext.Update(Entity entity, UpdateOption updateOption)\r\n at Microsoft.Crm.Extensibility.OData.CrmODataServiceDataProvider.UpdateEdmEntity(CrmODataExecutionContext context, String edmEntityName, String entityKeyValue, EdmEntityObject entityObject)\r\n at Microsoft.Crm.Extensibility.OData.EntityController.PatchEntity(String entityName, String key, EdmEntityObject entityDelta)\r\n at lambda_method(Closure , Object , Object[] )\r\n at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ActionExecutor.<>c__DisplayClass10.<GetExecutor>b__9(Object instance, Object[] methodParameters)\r\n at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ActionExecutor.Execute(Object instance, Object[] arguments)\r\n at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ExecuteAsync(HttpControllerContext controllerContext, IDictionary`2 arguments, CancellationToken cancellationToken)\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()\r\n at System.Web.Http.Controllers.ApiControllerActionInvoker.<InvokeActionAsyncCore>d__0.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()\r\n at System.Web.Http.Controllers.ActionFilterResult.<ExecuteAsync>d__2.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()\r\n at System.Web.Http.Dispatcher.HttpControllerDispatcher.<SendAsync>d__1.MoveNext()"
}
}
}
对我在这里可能做错的事情有任何帮助吗?我通常使用 @odata.bind 进行查找,但 stageid 似乎是唯一标识符类型。如何更新唯一标识符?
此外,了解如何调试或了解有关此管理员参考号的更多详细信息非常有帮助。
P.S:- 我知道可以使用 CRM SDK 来更新 stageid,但我找不到任何使用 odata API 的帮助。
【问题讨论】:
标签: dynamics-crm