确定通知的MIME类型

时间:2019-01-16 08:56:02

标签: onem2m

我是OneM2M协议的新手。 在搜索OneM2M TS0001文档时,我不知道确定Notification MIME类型。

如何确定通知的MIME类型(例如'application / json','application / xml')?

我在“订阅”的属性中找不到任何内容。

这是来自以下站点的应用程序开发人员指南的示例。他们如何决定以“ application / xml”类型发送此通知?


将通知发布到ADN-AE1 带有XML有效负载的HTTP请求

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 :(得分:1)

您应该查看TS-0004“服务层核心协议规范”的第6.7节“ oneM2M特定的MIME媒体类型”。在这里,您可以找到所有oneM2M特定的MIME类型。

根据该表,通知和XML编码的正确MIME类型为 application / vnd.onem2m-ntfy + xml

也就是说,您还可以检查TS-0009“ HTTP协议绑定”的第6.4.2节“接受”和6.4.3节“内容类型”。规范在这里说,例如 Content-Type

  

任何包含消息主体的HTTP请求或响应都应包含设置为“ application / xml”,“ application / json”或oneM2M TS-0004条款6.7中定义的oneM2M定义的媒体类型之一的Content-type标头

由于可以通过查看元素* m2m:sgn“来明确确定资源的类型,因此通常将* application / xml”设置为XML编码资源的Content-Type就足够了。

您可以在http://www.onem2m.org/technical/published-drafts

下载oneM2M规范的最新版本。

更新

CSE通过查看 notificationURI 属性的可选 ty 参数来确定通知消息的编码类型(xml,json或cbor)。

这在TS-0001的9.6.8节“资源类型订阅”中指定。通知的订阅者可以将类型参数(例如ty=xml)添加到 notificationURI 。如果不这样做,则CSE将选择默认编码。