-
Notifications
You must be signed in to change notification settings - Fork 48
Closed
Description
When messages from non-NSB endpoints do not contain required header information to determine if the message is a SystemMessage or not, ServiceControl does not process that message properly and it causes the following exception, when the GetAllErrors is invoked:
2014-12-12 09:17:43.3817|23|Error|ServiceBus.Management.Infrastructure.Nancy.NServiceBusContainerBootstrapper|Http call failed
Raven.Imports.Newtonsoft.Json.JsonSerializationException: Could not read value for property: IsSystemMessage ---> Raven.Imports.Newtonsoft.Json.JsonSerializationException: Error converting value {null} to type 'System.Boolean'. Path 'IsSystemMessage'. ---> System.InvalidCastException: Null object cannot be converted to a value type.
at System.Convert.ChangeType(Object value, Type conversionType, IFormatProvider provider)
at Raven.Imports.Newtonsoft.Json.Serialization.JsonSerializerInternalReader.EnsureType(JsonReader reader, Object value, CultureInfo culture, JsonContract contract, Type targetType)
--- End of inner exception stack trace ---
at Raven.Imports.Newtonsoft.Json.Serialization.JsonSerializerInternalReader.EnsureType(JsonReader reader, Object value, CultureInfo culture, JsonContract contract, Type targetType)
at Raven.Imports.Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
at Raven.Imports.Newtonsoft.Json.Serialization.JsonSerializerInternalReader.SetPropertyValue(JsonProperty property, JsonConverter propertyConverter, JsonContainerContract containerContract, JsonProperty containerProperty, JsonReader reader, Object target)
at Raven.Imports.Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateObject(Object newObject, JsonReader reader, JsonObjectContract contract, JsonProperty member, String id)
--- End of inner exception stack trace ---
at Raven.Imports.Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateObject(Object newObject, JsonReader reader, JsonObjectContract contract, JsonProperty member, String id)
at Raven.Imports.Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObject(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
at Raven.Imports.Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
at Raven.Imports.Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize(JsonReader reader, Type objectType, Boolean checkAdditionalContent)
at Raven.Imports.Newtonsoft.Json.JsonSerializer.DeserializeInternal(JsonReader reader, Type objectType)
at Raven.Client.Document.SessionOperations.QueryOperation.DeserializedResult[T](RavenJObject result)
at Raven.Client.Document.SessionOperations.QueryOperation.Deserialize[T](RavenJObject result)
at System.Linq.Enumerable.WhereSelectListIterator`2.MoveNext()
at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
at Raven.Client.Document.SessionOperations.QueryOperation.Complete[T]()
at Raven.Client.Document.AbstractDocumentQuery`2.GetEnumerator()
at System.Linq.Buffer`1..ctor(IEnumerable`1 source)
at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source)
at ServiceControl.MessageFailures.Api.GetAllErrors.<.ctor>b__7(Object _) in c:\BuildAgent\work\b7f882efc2cd360b\src\ServiceControl\MessageFailures\Api\GetAllErrors.cs:line 22
at CallSite.Target(Closure , CallSite , Func`2 , Object )
at Nancy.Routing.Route.<>c__DisplayClass4.<Wrap>b__3(Object parameters, CancellationToken context)
2
Related desk case: https://nservicebus.desk.com/agent/case/8183