Endpoints can receive messages from external systems (such as BizTalk, TIBCO, etc). To ensure those messages can be handled correctly by NServiceBus, additional information might be required which are otherwise provided by NServiceBus automatically.
Deserialization
In order to deserialize a message coming from a third party system, NServiceBus needs to know the .NET type to use.
Starting from NServiceBus version 7.4, the NServiceBus.EnclosedMessageTypes header is automatically populated when missing. When using NServiceBus version 7.3 and below, the sender should set that header.
Some serializers can infer the message type from information embedded in the message body.
The RabbitMQ, SQL, and Azure Service Bus native integration samples demonstrate inferring message type from the message body.
Visualization
To visualize messages from third party systems correctly within ServiceInsight, additional headers are necessary
NServiceBus.
- used to show related messages in the Flow Diagram and Sequence Diagram. If this header is not provided, the message won't be included in the conversation it started, but aConversationId ConversationId
will be generated for subsequent messages sent using NServiceBus.NServiceBus.
- used to in all views, to show the logical endpoint that sent the message. This should be the name of the third party endpoint sending the message. For example, BizTalk.ProcessOrder.OriginatingEndpoint