Third Party Integration

Component: NServiceBus

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.

The sender can specify a message type with the NServiceBus.EnclosedMessageTypes header.

Some serialiazers 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.ConversationId - 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 a ConversationId will be generated for subsequent messages sent using NServiceBus.
  • NServiceBus.OriginatingEndpoint - 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.

Related Articles


Last modified