Пытаюсь заключить контракт spring cloud с RabbitMQ (Spring AMQP) и отправить и получить

#spring-cloud-contract

Вопрос:

Я пытаюсь использовать контракт Spring cloud вместе с RabbitMQ. Я использую spring с весенним AMQP. С одной стороны потребительскую сторону я называю

    String result = (String) rabbitTemplate.convertSendAndReceive(
                TEST_DIRECT_EXCHANGE,
                TEST_DIRECT_QUEUE,
                new SendAndReceiveRequest("123")
        );
 

На стороне потребителя я использую @RabbitListener

    @RabbitListener(queues = TEST_DIRECT_QUEUE)
   public Message<String> rabbitListener(SendAndReceiveRequest request) {
      ...
      MessageBuilder.withPayload("result")
         ...
         .build();
   }
 

Чего я пытаюсь добиться, так это создать контракт на эту связь. Я попытался создать такой контракт https://docs.spring.io/spring-cloud-contract/docs/3.0.0-SNAPSHOT/reference/htmlsingle/#contract-dsl-output-triggered-message но это не сработало

Мой контракт:

     label("sendAndReceiveEvent")
    input {
        // the message was received from this destination
        messageFrom("test.provider.sendAndReceive.exchange")
        // has the following body
        messageBody([
                text: '123'
        ])
        // and the following headers
        messageHeaders {
            header("amqp_receivedRoutingKey", "test.provider.publish.queue")
            header("contentType", "application/json")
        }
    }
    outputMessage {
        sentTo('test.reply.queue')
        body('123')
        headers {
            header("contentType", "application/json")
        }
    }
}
 

Когда я делал это, как описано выше, я складывал исключение: java.lang.IllegalStateException: no listeners found for destination test.provider.sendAndReceive.exchange

Можно ли использовать контракт spring cloud с sendAndReceive? У вас есть какой-нибудь пример этого?