XML Serializer

Component: Xml Serializer
NuGet Package NServiceBus (6.x)
Standard support for version 6.x of NServiceBus has expired. For more information see our Support Policy.

This sample uses the default XML serializer in the core.

Configuring to use XML

var endpointConfiguration = new EndpointConfiguration("Samples.Serialization.Xml");
// this is optional since Xml is the default serializer
// register the mutator so the the message on the wire is written
endpointConfiguration.RegisterMessageMutator(new MessageBodyWriter());

Diagnostic mutator

A helper that will log the contents of any incoming message:

public class MessageBodyWriter :
    static ILog log = LogManager.GetLogger<MessageBodyWriter>();

    public Task MutateIncoming(MutateIncomingTransportMessageContext context)
        var bodyAsString = Encoding.UTF8
        log.Info("Serialized Message Body:");
        return Task.CompletedTask;

Sending the message

var message = new CreateOrder
    OrderId = 9,
    Date = DateTime.Now,
    CustomerId = 12,
    OrderItems = new List<OrderItem>
        new OrderItem
            ItemId = 6,
            Quantity = 2
        new OrderItem
            ItemId = 5,
            Quantity = 4
await endpointInstance.SendLocal(message)


<?xml version="1.0" ?>
<CreateOrder xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://tempuri.net/XmlSample">

Related Articles

Last modified