From a7a192cb539bf323a0f7dfdb00e71f515f9a9e0e Mon Sep 17 00:00:00 2001 From: Peter Davis Date: Sat, 16 Nov 2019 17:59:05 +1030 Subject: [PATCH] Fix response message workflow instance correlation (#163) * Add correlation id to workflow response message * Return message not correlating because of mismatching string formats --- src/samples/Sample08/Workflows/CreateOrderWorkflow.cs | 4 +++- src/samples/Sample08/Workflows/HandleOrderWorkflow.cs | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/samples/Sample08/Workflows/CreateOrderWorkflow.cs b/src/samples/Sample08/Workflows/CreateOrderWorkflow.cs index ba31fa878..496e11229 100644 --- a/src/samples/Sample08/Workflows/CreateOrderWorkflow.cs +++ b/src/samples/Sample08/Workflows/CreateOrderWorkflow.cs @@ -36,7 +36,9 @@ namespace Sample08.Workflows activity.ValueExpression = new JavaScriptExpression("lastResult().Body"); } ) - .Then(activity => activity.ValueExpression = new LiteralExpression(Guid.NewGuid().ToString("N"))) + // Need to ensure that the correlation ID is the same string format that is used by the WorkflowConsumer + // MassTransit will always use Guid values for correlation ID's, so need to ensure the same string format is used. + .Then(activity => activity.ValueExpression = new LiteralExpression(Guid.NewGuid().ToString())) .Then(activity => { activity.Message = new JavaScriptExpression("return { correlationId: correlationId(), order: order};"); diff --git a/src/samples/Sample08/Workflows/HandleOrderWorkflow.cs b/src/samples/Sample08/Workflows/HandleOrderWorkflow.cs index 7db935f84..4e9acffb5 100644 --- a/src/samples/Sample08/Workflows/HandleOrderWorkflow.cs +++ b/src/samples/Sample08/Workflows/HandleOrderWorkflow.cs @@ -26,7 +26,7 @@ namespace Sample08.Workflows .Then(activity => activity.TimeoutExpression = new LiteralExpression("00:00:05")) .Then(activity => { - activity.Message = new JavaScriptExpression("return {order: order}"); + activity.Message = new JavaScriptExpression("return { correlationId: correlationId(), order: order}"); activity.MessageType = typeof(OrderShipped); } );