I have message type that has collection of int ids in it.
In particular a single id is being sent, but when receiving the
following exception occurs. I'm running nuget 2.0.0.4 version.
It seems to be a serializer bug, so is there a way to switch to a
different serializer? (binary, xml, whatever that works?)
2011-08-26 13:38:47,238 [12] ERROR MassTransit.Context.ReceiveContext
[(null)] - Exception converting message to type:
SendPrintCorrespondence
System.Runtime.Serialization.SerializationException: Failed to
deserialize the message --->
Newtonsoft.Json.JsonSerializationException: Error converting value
"25" to type 'System.Collections.Generic.IEnumerable`1[System.Int32]'.
---> System.Exception: Could not cast or convert from System.String to
System.Collections.Generic.IEnumerable`1[System.Int32]. at
Newtonsoft.Json.Utilities.ConvertUtils.EnsureTypeAssignable(Object
value, Type initialType, Type targetType) in d:\Home\
json.net\Src
\Newtonsoft.Json\Utilities\ConvertUtils.cs:line 467
at Newtonsoft.Json.Utilities.ConvertUtils.ConvertOrCast(Object
initialValue, CultureInfo culture, Type targetType) in d:\Home\
json.net
\Src\Newtonsoft.Json\Utilities\ConvertUtils.cs:line 389
at
Newtonsoft.Json.Serialization.JsonSerializerInternalReader.EnsureType(Object
value, CultureInfo culture, Type targetType) in d:\Home\
json.net\Src
\Newtonsoft.Json\Serialization\JsonSerializerInternalReader.cs:line 94
--- End of inner exception stack trace ---
at
Newtonsoft.Json.Serialization.JsonSerializerInternalReader.EnsureType(Object
value, CultureInfo culture, Type targetType) in d:\Home\
json.net\Src
\Newtonsoft.Json\Serialization\JsonSerializerInternalReader.cs:line
498
at
Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal(JsonReader
reader, Type objectType, JsonContract contract, JsonProperty member,
Object existingValue) in d:\Home\
json.net\Src\Newtonsoft.Json
\Serialization\JsonSerializerInternalReader.cs:line 244
at
Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueProperty(JsonReader
reader, JsonProperty property, Object target, Boolean
gottenCurrentValue, Object currentValue) in d:\Home\
json.net\Src
\Newtonsoft.Json\Serialization\JsonSerializerInternalReader.cs:line
199
at
Newtonsoft.Json.Serialization.JsonSerializerInternalReader.SetPropertyValue(JsonProperty
property, JsonReader reader, Object target) in d:\Home\
json.net\Src
\Newtonsoft.Json\Serialization\JsonSerializerInternalReader.cs:line
567
at
Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateObject(Object
newObject, JsonReader reader, JsonObjectContract contract, String id)
in d:\Home\
json.net\Src\Newtonsoft.Json\Serialization
\JsonSerializerInternalReader.cs:line 1057
at
Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Populate(JsonReader
reader, Object target) in d:\Home\
json.net\Src\Newtonsoft.Json
\Serialization\JsonSerializerInternalReader.cs:line 87
at Newtonsoft.Json.JsonSerializer.PopulateInternal(JsonReader
reader, Object target) in d:\Home\
json.net\Src\Newtonsoft.Json
\JsonSerializer.cs:line 367
at Newtonsoft.Json.JsonSerializer.Populate(JsonReader reader,
Object target) in d:\Home\
json.net\Src\Newtonsoft.Json
\JsonSerializer.cs :line 358
at
MassTransit.Serialization.JsonMessageTypeConverter.<>c__DisplayClass4`1.<TryConvert>b__1(JsonReader
jsonReader) in d:\BuildAgent-03\work\8d1373c869590c5b\src\MassTransit
\Serialization\JsonMessageTypeConverter.cs:line 65
at
MassTransit.Serialization.JsonMessageTypeConverter.UsingReader(Action`1
callback) in d:\BuildAgent-03\work\8d1373c869590c5b\src\MassTransit
\Serialization\JsonMessageTypeConverter.cs:line 87
at MassTransit.Serialization.JsonMessageTypeConverter.TryConvert[T]
(T& message) in d:\BuildAgent-03\work\8d1373c869590c5b\src\MassTransit
\Serialization\JsonMessageTypeConverter.cs:line 65
at MassTransit.Context.ReceiveContext.TryGetContext[T]
(IConsumeContext`1& context) in d:\BuildAgent-03\work\8d1373c869590c5b
\src\MassTransit\Context\ReceiveContext.cs:line 149
--- End of inner exception stack trace ---