private string CreateMessagingErrorMessage(string description, object payload)
 {
     return(description + "\n"
            + "Endpoint handler details:\n"
            + "Method [" + HandlerAdapter.GetMethodAsString(payload) + "]\n"
            + "Bean [" + HandlerAdapter.Instance + "]");
 }
 private InvocationResult InvokeHandler(Message amqpMessage, IModel channel, IMessage message)
 {
     try
     {
         return(HandlerAdapter.Invoke(message, amqpMessage, channel));
     }
     catch (MessagingException ex)
     {
         throw new ListenerExecutionFailedException(
                   CreateMessagingErrorMessage("Listener method could not be invoked with the incoming message", message.Payload), ex, amqpMessage);
     }
     catch (Exception ex)
     {
         throw new ListenerExecutionFailedException("Listener method '" + HandlerAdapter.GetMethodAsString(message.Payload) + "' threw exception", ex, amqpMessage);
     }
 }