public static void SerializeWrappedNativeMessag()
{
var serializer = new JsonMessageSerializer(new SimpleMessageMapper());
var serializedMessage = serializer.SerializeObject(new NativeMessage
{
Content = "Hello from native sender",
SendOnUtc = DateTime.UtcNow
});
Debug.WriteLine("Serialized message:\n");
Debug.WriteLine($"@\"{serializedMessage.Replace("\"", "\"\"")}\"");
var headers = new Dictionary<string, string>
{
{ "NServiceBus.EnclosedMessageTypes", typeof(NativeMessage).FullName },
{ "NServiceBus.MessageIntent", "Send" }
};
var toSend = new MessageWrapper
{
Id = Guid.NewGuid().ToString(),
Body = Encoding.UTF8.GetBytes(serializedMessage),
Headers = headers,
MessageIntent = MessageIntentEnum.Send,
ReplyToAddress = "native-sender"
};
using (var stream = new MemoryStream())
{
serializer.Serialize(toSend, stream);
var st = Encoding.UTF8.GetString(stream.ToArray());
Console.WriteLine("\nWrapped message:\n");
Debug.WriteLine($"@\"{st.Replace("\"", "\"\"")}\"");
}
}