Could not determine type for node


(AK) #1

These are my conventions:
configuration.Conventions().DefiningEventsAs(t => t != null
&& t.Namespace == typeof(ShrinkAdjustmentMessage).Namespace);

configuration.Conventions().DefiningMessagesAs(
            t =>
                t.Namespace != null
                && (t.Namespace == typeof(Adjustments).Namespace
                    || t.Namespace == typeof(StoreAdjustmentMessage).Namespace
                    || t.Namespace == typeof(TraceDiagnostic).Namespace));

2019-03-22 12:21:05,578 ERROR NServiceBus.RecoverabilityExecutor - Moving message ‘95608a91-fd5e-4a9d-8f02-b78f12d08446\307320’ to the error queue ‘cao_adjustment_collector.error’ because processing failed due to an exception:
NServiceBus.MessageDeserializationException: An error occurred while attempting to extract logical messages from incoming physical message 95608a91-fd5e-4a9d-8f02-b78f12d08446\307320 —> System.Exception: Could not determine type for node: ‘StoreAdjustmentMessage’.
at NServiceBus.XmlDeserialization.InferNodeType(XmlNode node, Object parent)
at NServiceBus.XmlDeserialization.ProcessChildNodes(IList1 messageTypesToDeserialize, XmlDocument doc, ICollection1 result)
at NServiceBus.XmlDeserialization.Deserialize(Stream stream, IList`1 messageTypesToDeserialize)
at NServiceBus.DeserializeLogicalMessagesConnector.Extract(IncomingMessage physicalMessage)
at NServiceBus.DeserializeLogicalMessagesConnector.ExtractWithExceptionHandling(IncomingMessage message)


(Mike Minutillo) #2

Which version of NServiceBus are you using?

If you are on version 7, then the endpoint should produce a diagnostics file which will contain the list of message types that were picked up during scanning. Check to see if StoreAdjustments is in there.

If the message type is in there, then we need to figure out why the serializer isn’t picking it up when it’s deserializing the message body.

If the message type is not in there, then we need to figure out why it’s not. The diagnostics file will also contain a list of assemblies that were scanned. Check to see if the assembly containing the message type is present.

If you’re on an earlier version of NServiceBus, then the endpoint should still emit a list of message types that it knows about at startup into the logs. You’ll need to have your log level at DEBUG in order to see them.

If you’d like, you can raise a support case and attach the diagnostics file and any endpoint log files, we can help to diagnose the issue further.