Определение типа сообщения MIME - PullRequest
0 голосов
/ 16 января 2019

Я новичок в протоколе OneM2M. В поисках документов OneM2M TS0001 у меня нет представления об определении типа MIME уведомления.

Как определить тип MIME (например, «application / json», «application / xml») уведомления?

Я не смог найти ничего в атрибутах подписки.

Это пример руководства разработчика приложений с сайта ниже. Как они решили отправить это уведомление как тип application / xml?


Опубликовать уведомление на ADN-AE1 Запрос HTTP с полезной нагрузкой XML

POST / HTTP/1.1
Host: 192.168.0.10:9090
X-M2M-Origin: /mn-cse
X-M2M-RI: notif-12345
Content-Type: application/xml

<?xml version="1.0" encoding="UTF-8"?>
<m2m:sgn xmlns:m2m="http://www.onem2m.org/xml/protocols" rn="cin-394798749">
  <nev>
    <rep>
      <m2m:cin>
        <ty>4</ty>
        <ri>cin-394798749</ri>
        <pi>cnt-790965889</pi>
        <ct>20150925T050534</ct>
        <lt>20150925T050534</lt>
        <et>20151107T154802</et>
        <st>0</st>
        <cnf>text/plain:0</cnf>
        <cs>3</cs>
        <con>ON</con>
      </m2m:cin>
    </rep>
  </nev>
  <sur>/mn-cse/sub-856593979</sur>
</m2m:sgn>

http://www.onem2m.org/application-developer-guide/implementation/notifications

1 Ответ

0 голосов
/ 17 января 2019

Вы должны взглянуть на TS-0004 "Спецификация протокола ядра сервисного уровня", раздел 6.7 "Специфичные для MIME типы носителей oneM2M". Там вы можете найти все типы MIME, относящиеся к oneM2M.

Согласно этой таблице, правильный тип MIME для уведомления и кодировки XML: application / vnd.onem2m-ntfy + xml .

Тем не менее, вы также можете проверить TS-0009 «Привязка протокола HTTP», разделы 6.4.2 «Принять» и 6.4.3 «Тип содержимого». Здесь в спецификации сказано, например, для Content-Type :

Любой HTTP-запрос или ответ, содержащий тело сообщения, должен включать заголовок Content-type, установленный в один из «application / xml», «application / json» или oneM2M, определенные в типах мультимедиа, определенных в п. 6.7 oneM2M TS-0004 .

Поскольку можно однозначно определить тип ресурса, посмотрев на элемент * m2m: sgn ", обычно достаточно установить * application / xml" в качестве Content-Type для ресурсов, закодированных в XML.

Последние версии спецификаций oneM2M можно загрузить по адресу http://www.onem2m.org/technical/published-drafts

Обновление

CSE определяет тип кодировки (xml, json или cbor) для сообщения уведомления, просматривая необязательный параметр ty атрибута messagesURI .

Это указано в TS-0001, раздел 9.6.8 «Тип подписки на ресурсы». Подписчик уведомления может добавить параметр типа (например, ty=xml) к уведомлению URI . Если это не указано, CSE выбирает кодировку по умолчанию.

...