Нельзя использовать сериализацию JSON, если вы выполняете ввод во время выполнения для любых контрактов сообщений. Если вы хотите сделать это, вам потребуется использовать двоичный сериализатор.
Вы не можете получить доступ к необработанному, не сериализованному телу сообщения; если сообщение не может быть десериализовано, тогда код пользователя не вызывается.
Наличие внутренних типов, помеченных как внутренние, не позволит нам десериализовать сообщение. Конструктор не может быть вызван, следовательно, нет создания объекта. Я не уверен, что двоичный сериализатор позволит вам обойти это ограничение, а не то, что я проверял.
Если у вас есть другие вопросы, вы можете присоединиться к списку рассылки, https://groups.google.com/forum/#!forum/masstransit-discuss.