Заметил, что компонента себя очень странно ведет в ситуации, когда во время начала чтения одного сообщения необходимо прочитать другое сообщение. Мы это используем, чтобы сначала прочитать данные (справочники, документы), а затем на основании этих данных прочитать нужную версию XSD схемы для них.
Псевдокод, при котором воспроизводится ошибка выглядит так:
Клиент = Новый ("AddIn.V8RMQClient.V8RMQClient")
Клиент.НачатьЧтение() // начинаем чтение из очереди 1
Клиент.ПолучитьСообщение() // получаем данные из очереди 1
Клиент.НачатьЧтение() // получаем данные из очереди 2
Клиент.ПолучитьСообщение() // данные не получаются, никаких ошибок не возвращается, как будто очередь пустая
Клиент.ПодтвердитьСообщение() // успешно подтверждаем сообщение из очереди 1
Клиент.ПолучитьСообщение() // и теперь только получаем сообщение из очереди 2
Это глюк компоненты или чтение из компоненты, даже из разных очередей возможно только последовательно?