Обработчик уведомлений данных oneM2M не вызывается - PullRequest
0 голосов
/ 07 февраля 2019

Я новичок в onem2m и использую реализацию IoTDM Karaf для изучения начальных шагов.Я также использую пакет почтальона из того же проекта, что и инструмент обучения.Я могу делать операции CRUD и другие прямые операции из моего собственного кода (html, ajax, php).Я ознакомился со спецификацией документации (хотя и не полностью), а также с примером руководства для разработчиков, посвященным домашнему освещению и примерам реализации.

Теперь я застрял в том, что я зарегистрировался для подписки.успешно с уведомлением uri "nu", указывающим на php на другом сервере apache в той же сети.Почтальон / Google Rest Client может публиковать данные на нем.Я даже добавил заголовок CORS, чтобы избежать каких-либо сомнений.Я указал "nu": http // полный IP / phpfile.php.Затем я создаю экземпляр контента из Почтальона.Я ожидаю, что мой php будет вызван.Допустимо ли это ожидание?

Я просто выгружаю данные поста в файл в моей папке / var / www / html.Это работает как ожидалось.Я протестировал написание небольшого HTML и запустил его с другого сервера.Так что это не проблема CORS или проблема доступа к файловой системе.Реализована ли реализация уведомлений?Меня интересует не сторона периферийных устройств IoT, а бэкэнд, где я хочу собирать данные с устройств.Я не вижу примеров, детализирующих реализацию обработчика уведомлений как такового.

Любые указатели, даже если не прямой ответ, помогут.Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 12 февраля 2019

Большой скачок.Я получил обработчик уведомлений, чтобы поразить мой php обратного вызова.Во-первых, я использовал «углеродный» выпуск ODL IoTDM.Затем мне пришлось установить функцию odl-iotdm-onem2m.Этот поставляется с odl-onem2m-notifier, который, я думаю, является отсутствующим компонентом на старом сервере.Теперь, когда я регистрирую подписку и добавляю экземпляр контента, мой php вызывается.

Я не вижу подтверждения запроса и других подобных советов от @akr.Я думаю, мне нужно найти более свежую реализацию сервера для этого.Но я думаю, что на этот вопрос ответили.

Большое спасибо @akr за ваше терпение и ответы.

0 голосов
/ 07 февраля 2019

При создании ресурса хостинг CSE может отправить уведомление для проверки подписки.Получатель этой проверки - messagesURI , установленный в .Таким образом, CSE уверен, что получатель действительно может и должен обрабатывать уведомления.

Для этого приемник уведомлений (ваш PHP-скрипт) должен работать и отвечать на validRequest правильно, до вы создаете ресурс .В противном случае CSE не должен отправлять уведомления на указанный URI.

Работал ли ваш получатель уведомлений и правильно ли он ответил на проверочный запрос ?

См. Также "TS-0004 - Спецификация базового протокола уровня обслуживания ", глава" 7.5.1.2.2 Уведомление для ресурсов ".

Обновление

Сервер уведомлений должен проверить содержимоезапроса POST для элемента vrq .Это указывает на запрос проверки.Если сервер хочет принять запрос, он должен вернуть код ошибки HTTP «200», а также заголовок ответа «X-M2M-RSC» со значением «2000».

...