<DIV>I have a message that I'm sending and one of it's properties is an abstract type.&nbsp; When I send this message I get an exception on the receiver from the json serializer:</DIV>
<DIV>How am I able to receive a message that has an interface or abstract type property, here MyPayload is an abstract class?</DIV>
<DIV>Thanks</DIV>
<DIV>Exception:<BR>Newtonsoft.Json.JsonSerializationException: Could not create an instance of type<BR>&nbsp;MyNamespace.Payloads.MyPayload. Type<BR>&nbsp;is an interface or abstract class and cannot be instantated. Path 'Payload.Id',<BR>&nbsp;line 1, position 17.<BR>&nbsp;&nbsp; at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateNewObject<BR>(JsonReader reader, JsonObjectContract objectContract, JsonProperty containerMem<BR>ber, JsonProperty containerProperty, String id, Boolean&amp; createdFromNonDefaultCo<BR>nstructor)<BR>&nbsp;&nbsp; at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObject(Js<BR>onReader reader, Type objectType, JsonContract contract, JsonProperty member, Js<BR>onContainerContract containerContract, JsonProperty containerMember, Object exis<BR>tingValue)<BR>&nbsp;&nbsp; at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInte<BR>rnal(JsonReader reader, Type objectType, JsonContract contract, JsonProperty mem<BR>ber, JsonContainerContract containerContract, JsonProperty containerMember, Obje<BR>ct existingValue)<BR>&nbsp;&nbsp; at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.SetPropertyValu<BR>e(JsonProperty property, JsonConverter propertyConverter, JsonContainerContract<BR>containerContract, JsonProperty containerProperty, JsonReader reader, Object tar<BR>get)<BR>&nbsp;&nbsp; at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateObject(<BR>Object newObject, JsonReader reader, JsonObjectContract contract, JsonProperty m<BR>ember, String id)<BR>&nbsp;&nbsp; at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObject(Js<BR>onReader reader, Type objectType, JsonContract contract, JsonProperty member, Js<BR>onContainerContract containerContract, JsonProperty containerMember, Object exis<BR>tingValue)<BR>&nbsp;&nbsp; at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInte<BR>rnal(JsonReader reader, Type objectType, JsonContract contract, JsonProperty mem<BR>ber, JsonContainerContract containerContract, JsonProperty containerMember, Obje<BR>ct existingValue)<BR>&nbsp;&nbsp; at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize(Jso<BR>nReader reader, Type objectType, Boolean checkAdditionalContent)<BR>&nbsp;&nbsp; at Newtonsoft.Json.JsonSerializer.DeserializeInternal(JsonReader reader, Type<BR>&nbsp;objectType)<BR>&nbsp;&nbsp; at Newtonsoft.Json.JsonSerializer.Deserialize(JsonReader reader, Type objectT<BR>ype)<BR>&nbsp;&nbsp; at Newtonsoft.Json.JsonConvert.DeserializeObject(String value, Type type, Jso<BR>nSerializerSettings settings)<BR>&nbsp;&nbsp; at Newtonsoft.Json.JsonConvert.DeserializeObject[T](String value, JsonSeriali<BR>zerSettings settings)<BR>&nbsp;&nbsp; at Newtonsoft.Json.JsonConvert.DeserializeObject[T](String value)<BR>&nbsp;&nbsp; at EasyNetQ.JsonSerializer.BytesToMessage[T](Byte[] bytes)<BR>&nbsp;&nbsp; at EasyNetQ.RabbitAdvancedBus.&lt;&gt;c__DisplayClass1`1.&lt;Subscribe&gt;b__0(Byte[] bod<BR>y, MessageProperties properties, MessageReceivedInfo messageRecievedInfo)<BR>&nbsp;&nbsp; at EasyNetQ.RabbitAdvancedBus.&lt;&gt;c__DisplayClass7.&lt;Subscribe&gt;b__6(String consu<BR>merTag, UInt64 deliveryTag, Boolean redelivered, String exchange, String routing<BR>Key, IBasicProperties properties, Byte[] body)<BR>&nbsp;&nbsp; at EasyNetQ.QueueingConsumerFactory.HandleMessageDelivery(BasicDeliverEventAr<BR>gs basicDeliverEventArgs)<BR></DIV>
<DIV>&nbsp;</DIV>