miércoles, 5 de febrero de 2014

Error en Workflow Síncrono “Value cannot be null. Parameter name: culture”

Hola, existe una situación que provoca un error en Dynamics CRM 2013.

En esto post intentaré explicar la situación y como resolverlo.

Para reproducirlo hay que seguir estos pasos:

1) creamos una nueva entidad

image

2) Creamos un flujo de trabajo síncrono:

image

3) Hacemos que se dispare antes de una eliminación y definimos una lógica de ejecución:

image

4) Creamos un registro del tipo nuevo creado y lo intentamos eliminar:

image

5) Aparece un error:

image

La descripción del error es la siguiente:

Unhandled Exception: System.ServiceModel.FaultException`1[[Microsoft.Xrm.Sdk.OrganizationServiceFault, Microsoft.Xrm.Sdk, Version=6.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]]: System.Web.HttpUnhandledException: Microsoft Dynamics CRM has experienced an error. Reference number for administrators or support: #9BCAE0E7Detail:
<OrganizationServiceFault xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.microsoft.com/xrm/2011/Contracts">
  <ErrorCode>-2147220970</ErrorCode>
  <ErrorDetails xmlns:d2p1="http://schemas.datacontract.org/2004/07/System.Collections.Generic" />
  <Message>System.Web.HttpUnhandledException: Microsoft Dynamics CRM has experienced an error. Reference number for administrators or support: #9BCAE0E7</Message>
  <Timestamp>2014-02-05T20:30:29.5087838Z</Timestamp>
  <InnerFault>
    <ErrorCode>-2147220891</ErrorCode>
    <ErrorDetails xmlns:d3p1="http://schemas.datacontract.org/2004/07/System.Collections.Generic" />
    <Message>Value cannot be null.
Parameter name: culture</Message>
    <Timestamp>2014-02-05T20:30:29.5087838Z</Timestamp>
    <InnerFault i:nil="true" />
    <TraceText>

[Microsoft.Crm.ObjectModel: Microsoft.Crm.ObjectModel.SyncWorkflowExecutionPlugin]
[4b68b225-a48e-e311-b0ae-6c3be5be5e68: ]
Starting sync workflow 'test', Id: 4568b225-a48e-e311-b0ae-6c3be5be5e68
Entering ConditionStep1_step:
Sync workflow 'test' terminated with error 'Value cannot be null.
Parameter name: culture'

</TraceText>
  </InnerFault>
  <TraceText i:nil="true" />
</OrganizationServiceFault>

Para solucionar el error tenemos que ir al proceso y modificar como se ejecuta el proceso. Volvemos a activar el mismo y ya todo funciona:

image

Ahora ya me muestra mi mensaje de error personalizado correctamente:

image

Lo curioso es que si vuelvo a poner el valor del proceso como estaba antes, sigue funcionando correctamente:

image

Imagino que esto será resuelto en próximos rollups, de todos modos, con lo explicado aquí, ya se puede continuar trabajando con Dynamics CRM 2013 Sonrisa

he creado también una entrada en connect, por si a alguien le interesa tener un seguimiento de este tema, o votar por el mismo: https://connect.microsoft.com/dynamicssuggestions/feedback/details/816726/mvp-bug-in-sync-workflow-on-before-delete-value-cannot-be-null-parameter-name-culture

Un saludo,

No hay comentarios:

Publicar un comentario