You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Eclipse OM2M创建AE时遇/in-cse资源不存在问题求助

问题分析与解决办法

核心错误点

1. 请求URL不正确

创建AE资源时,目标路径必须指向CSEBase资源(即你GET响应中的<m2m:cb>节点),而非直接使用CSE标识符路径。从响应内容可知,CSEBase的资源名称(rn属性)是in-name,因此正确的POST请求URL应为:

http://localhost:8080/~/in-cse/in-name

你之前的URL末尾带了多余的?=,且未指定CSEBase的资源名称,导致系统无法识别正确的父资源路径,从而返回AE resource /in-cse not found错误。

2. XML请求体格式不规范

你的请求XML存在多处格式问题,会触发解析错误:

  • 标签名内不能包含空格:比如<m2m: ae>应改为<m2m:ae>,</ api>应改为</api>
  • 标签内容的冗余空格:<rr> false </ rr>应改为<rr>false</rr>,否则系统可能将空格识别为无效值

3. GET请求的冗余数据(非致命,但不符合规范)

你发送的GET请求携带了POST用的XML数据,虽然此次请求成功,但GET请求不应包含请求体,属于不规范操作。

修正后的POST请求

curl --request POST \
  --url 'http://localhost:8080/~/in-cse/in-name' \
  --header 'Content-Type: application/xml' \
  --header 'x-m2m-origin: admin:admin' \
  --data '&lt;m2m:ae xmlns:m2m="http://www.onem2m.org/xml/protocols" rn="MY_SENSOR"&gt;
    &lt;api&gt;app-sensor&lt;/api&gt;
    &lt;lbl&gt;Type/sensor Category/temperature Location/home&lt;/lbl&gt;
    &lt;rr&gt;false&lt;/rr&gt;
&lt;/m2m:ae&gt;'

额外验证建议

可以先发送GET请求确认CSEBase路径的有效性:

curl --request GET \
  --url 'http://localhost:8080/~/in-cse/in-name' \
  --header 'Content-Type: application/xml' \
  --header 'x-m2m-origin: admin:admin'

如果能正常返回CSEBase的XML数据,说明路径正确,再执行POST创建AE操作。

内容的提问来源于stack exchange,提问作者Jrod

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 05:40:16