Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

RabbitMQ - чтение очереди, ошибка при получении Headers.

RabbitMQ - чтение очереди, ошибка при получении Headers.
Я
   NurSagen
 
30.09.21 - 12:22
Упрощенный код работы с RabbitMQ:

ФабрикаAMQP = Новый COMОбъект("имяКомпоненты Реббита");
Соединение = ФабрикаAMQP.CreateConnection();

Модель = Соединение.CreateModel();
Модель.QueueDeclarePassive(ИмяОчереди);

ДанныеОчереди = Модель.BasicGet(ИмяОчереди);

ПараметрыОчереди = ДанныеОчереди.BasicProperties(); // возвращает COMОбъектовскую структуру

И вот здесь проблемы:

В отладчике в "ПараметрыОчереди" - не видно свойства Headers, но если писать ПараметрыОчереди.Headers пишет - "Ошибка при получении значения атрибута контекста", то есть поле такое есть, но его нельзя прочитать почему-то..

Есть ли какие-либо альтернативные способы получения заголовков (Headers) сообщения из читаемой очереди?
   Garykom
 
1 - 30.09.21 - 12:23
другая ВК
   Garykom
 
2 - 30.09.21 - 12:24
как вариант rabbitmq-plugins enable rabbitmq_management и по http
   NurSagen
 
3 - 30.09.21 - 12:24
(1) Дело во внешней компоненте?
   Garykom
 
4 - 30.09.21 - 12:25
(3) ты какую юзаешь то?
   NurSagen
 
5 - 30.09.21 - 12:26
(4) Не знаю, какую-то админы давно ставили, мне туда даже нельзя ходить
   acht
 
6 - 30.09.21 - 12:26
(4) "Реббита" же. Испанка очевидно =)
   Garykom
 
7 - 30.09.21 - 12:26
(5) ну так и свали траблу на одминов/девопс
попроси рабочий пример с Headers
   acht
 
8 - 30.09.21 - 12:27
(5) Ты идентификатор создаваемого COM объекта зачем затер, не знающий?
   NurSagen
 
9 - 30.09.21 - 12:28
(8) Ты про это - "RabbitMQ.Client.ConncetionFactory()"?
   acht
 
10 - 30.09.21 - 12:28
(9) Я про ФабрикаAMQP = Новый COMОбъект("имяКомпоненты Реббита");
   NurSagen
 
11 - 30.09.21 - 12:29
(10) ФабрикаAMQP = Новый COMОбъект("RabbitMQ.Client.ConnectionFactory");
   Garykom
 
12 - 30.09.21 - 12:35
(11) хз где вы взяли этот COM объект
возможно нечто свое на основе https://github.com/rabbitmq/rabbitmq-dotnet-client/
   mikecool
 
13 - 30.09.21 - 12:37
"то есть поле такое есть, но его нельзя прочитать почему-то.. " - значит получена не та коллекция, где это свойство доступно для чтения
   acht
 
14 - 30.09.21 - 12:38
(11) Все вопросы к автору этой компоненты.

Если это типовая дотнетовская, то откуда уверенность, что все ее методы и свойства будут доступны через COM?
   acht
 
15 - 30.09.21 - 12:41
(14)+ Теоритически там System.Collections.Generic.IDictionary<System.String, System.Object>,
попробуй через методы - .Items(...) там какой нибудь
   NurSagen
 
16 - 30.09.21 - 12:43
Хорошо, а здесь есть те, кто прочитывал Headers из Rabbit-а?
Каким способом вы это делали?
Таким как я и у вас все работало, или как-то иначе?
   acht
 
17 - 30.09.21 - 12:45
(16) > а здесь есть те

Ну начинается...
Да нет здесь никого, нет. Это же форум о политике и пользе утренней зарядки.
   NurSagen
 
18 - 30.09.21 - 12:48
(17) я просто хотел спросить как вы получаете Headers, также как я или нет?
   NurSagen
 
19 - 30.09.21 - 12:49
Я сам впервые с RabbitMQ работаю
   Garykom
 
20 - 30.09.21 - 12:53
   Garykom
 
21 - 30.09.21 - 12:54
   NurSagen
 
22 - 30.09.21 - 12:56
(21) Спасибо
   Garykom
 
23 - 30.09.21 - 12:59
(22) я не уверен что там есть что тебе надо
   acht
 
24 - 30.09.21 - 13:02
(23) А я уверен, что там этого нет.
https://github.com/BITERP/PinkRabbitMQ/issues/46
   Garykom
 
25 - 30.09.21 - 13:18
(24) ну вариант 3 можно ))
   Necessitudo
 
26 - 01.10.21 - 09:08
(0) Если напишешь мне в телегу @necessitudo, то поделюсь прям готовой подсистемой для общения с Рэббитом в 1С.


Список тем форума
 
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.