rest - IBM Maximo REST 服务 POST 未在 MBO 上设置属性

标签 rest maximo

我已尝试通过 IBM Maximo 中的 REST 服务创建自定义对象的记录。 问题是我创建了记录,但无法为属性赋值。

接下来我将展示我做了什么以及发生了什么:

  1. 我有一个名为 oxidato 的对象结构,代表我的自定义对象。

  2. 我使用 POSTMAN 对这个 URL 进行了 POST: http://hostname:port/maximo/oslc/os/oxidato?lean=1

  3. 在正文部分,这是我尝试发送的 JSON:

{
    "attribute1":"205",
    "attribute2":"206"
}
  1. 记录已创建,但没有填充任何属性。

在我看来,REST 服务收到了 POST 但无法读取正文。

我错过了什么?我添加了 POSTMAN 的图像作为示例: enter image description here

enter image description here

EDIT1:我更新了 POST 以使用最新的 API RES(感谢 Dex!)

EDIT2:我添加标题图片

最佳答案

我发现 Maximo 经常会忽略不在 Maximo 命名空间 ( http://www.ibm.com/maximo ) 中的传入属性。您可能会遇到将 VALOR1 和 VALOR2 属性设置在该 namespace 中的麻烦,但只告诉 OSLC 忽略 namespace 会更容易。您可以通过将“精益”参数设置为“1”来做到这一点。

在您的情况下,转到“Params”选项卡并添加一个名为“lean”的条目。给它一个值“1”,然后再次发送您的 POST。您应该看到“?lean=1”出现在顶部 POST URL 的末尾,但您的正文内容应保持不变。

编辑: 另一方面,看起来(根据您的 URL)您实际上并没有使用更新的 JSON/OSLC REST API;看起来您正在使用较旧的 REST 服务。这个 IBM 页面为您提供了很多关于更新的 JSON REST API 的信息,包括它的正确 URL:https://developer.ibm.com/static/site-id/155/maximodev/restguide/Maximo_Nextgen_REST_API.html . 您应该将 URL 更改为/maximo/oslc/os/oxidato 以使用自然支持 JSON 和上述精益参数的较新 API。不过,这确实需要 Maximo 7.6 才能使用。

编辑 2: 这些属性通常对大小写敏感,需要小写。您在“attribute1”和“attribute2”问题中的示例是正确的小写,但您的屏幕截图显示大写属性名称。尝试将它们更改为“valor1”和“valor2”。另外,这些是持久属性,对吧?

关于rest - IBM Maximo REST 服务 POST 未在 MBO 上设置属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62825685/

相关文章:

maximo - 在应用程序的 ListView 中突出显示记录的技术术语是什么?

java - 在 Java 中比较两个表列值

java - 是否可以在 Spring/REST 中定义具有相同映射但不同参数的多个方法?

node.js - 如何使用 node.js 实现安全的 REST API

java - 使用 Java URL 对象的 GET 请求出现问题

python - 我可以使用 python 脚本获取用户在登录 Maximo 时运行的查询吗?

python - 使用 python 的 HP QC REST API

rest - 团队中审批应用程序的 API - 团队中的新审批应用程序是否有可用的其他 API?

java - 如何使用空的soapAction定义调用Web服务?

oracle - Maximo 的出站集成 : Is there a reason why materialized views are not a suitable choice?