diff --git a/src/modules/Elsa.Http/Activities/WriteHttpResponse.cs b/src/modules/Elsa.Http/Activities/WriteHttpResponse.cs index f1eabd8c0..7fd01669e 100644 --- a/src/modules/Elsa.Http/Activities/WriteHttpResponse.cs +++ b/src/modules/Elsa.Http/Activities/WriteHttpResponse.cs @@ -22,7 +22,7 @@ public class WriteHttpResponse : Activity public WriteHttpResponse([CallerFilePath] string? source = default, [CallerLineNumber] int? line = default) : base(source, line) { } - + /// /// The status code to return. /// @@ -113,9 +113,19 @@ public class WriteHttpResponse : Activity // Write content. if (statusCode != HttpStatusCode.NoContent) - await httpContent.CopyToAsync(response.Body); + { + try + { + await httpContent.CopyToAsync(response.Body); + } + catch (NotSupportedException) + { + // This can happen the Content property is a type that cannot be serialized or contains a type that cannot be serialized. + await response.WriteAsync("The response includes a type that cannot be serialized."); + } + } } - + // Complete activity. await context.CompleteActivityAsync(); }