Как подписаться на событие с помощью STOMP
В этой инструкции подробно описано, как подписаться на событие, генерируемое виртуальным устройством в AggreGate с помощью Postman и STOMP API. Сервер AggreGate в этом примере доступен на localhost, а целевым виртуальным устройством является users.admin.devices.virtual1. Очень важно, что сообщения, отправляемые через STOMP, должны придерживаться строгого формата и заканчиваться шестнадцатеричной последовательностью 0D 0A 0D 0A 00.
Инструкции
Получите токен аутентификации:
Конечная точка:
http://localhost:8080/rest/authМетод:
POSTТело (JSON):
{
"username":"admin",
"password":"admin"
}Ответ (JSON): Вы получите объект JSON, содержащий токен аутентификации.
{
"token": "eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiI4N2VhNjc4OS00MmFjLTQ4YzMtOGYwZS00YmU5YWE2MjU4MGEiLCJzdWIiOiJhZG1pbiIsImF1ZCI6ImFjY2VzcyIsImlhdCI6MTcyNTUyMjA3MSwiZXhwIjoxNzI1NTI1NjcxfQ.tOkBhfyPeKhoeNpsAXQMIsRDcz-bUafP42_k79E2_JE"
}
Настройте Postman для STOMP-соединений:
URL:
wss://localhost:8443/rest/v1/stompЗаголовки:
Ключ:
AuthorizationЗначение:
Bearer <token>(Замените<token>на токен, полученный на шаге 1).

Установите соединение STOMP:
Нажмите кнопку "Connect" в Postman.
Отправьте фрейм CONNECT:
Формат сообщения:
TextТело сообщения:
CONNECT
Authorization:<token>(Замените
<token>на токен из шага 1. Примечание: здесь не должно быть префикса "Bearer").Нажмите кнопку "Отправить".

Отправьте терминатор кадров:
Формат сообщения:
Binary,HexadecimalТело сообщения:
0D 0A 0D 0A 00Нажмите кнопку "Отправить".

Отправьте кадр SUBSCRIBE:
Формат сообщения:
TextТело сообщения:
SUBSCRIBE
id:0
destination:/v1/contexts/users.admin.devices.virtual1/events/event1Нажмите кнопку "Отправить".

Отправьте терминатор кадров (снова):
Формат сообщения:
Binary,HexadecimalТело сообщения:
0D 0A 0D 0A 00Нажмите кнопку "Отправить".

Сгенерируйте событие в AggreGate:
Используя интерфейс AggreGate, сгенерируйте событие Типа 1 для виртуального устройства "users.admin.devices.virtual1".

Получите событие в Postman:
Postman получит кадр
MESSAGE, содержащий данные события в формате JSON. В кадр войдут такие заголовки, какdestination,content-type,subscription,message-idиcontent-length, а затем сами данные события.

Выполнив эти шаги, вы сможете успешно использовать Postman и STOMP для подписки на события AggreGate и получать информацию о данных вашей системы в реальном времени через API.
Was this page helpful?