Maximo - 通过传递 wonum 和 siteid 而不是 workorderid 使用 RESTApi 更新工作订单
Maximo- Update work order using RESTApi by passing wonum and siteid instead of workorderid
我们目前使用的是 Maximo 7.6.1 并且已经开始使用 Restful API,并且想知道是否可以通过传递 wonum 和 siteid 而不是 workorderid 来使用 RESTApi 更新工作订单。
我们希望避免对我们的中间件进行一次额外的 GET 调用来检索 workorderid,然后在 PUT 请求中使用它。
使用此 URL(还有 OS)尝试插入记录,即使 HTTP 方法是 PUT。
/maxrest/rest/mbo/WORKORDER?_action=AddChange&siteid=XXX&wonum=7065644&description=测试
任何指点都会有所帮助。
谢谢
IBM 文档似乎建议您只能更新具有唯一 ID 的现有记录:
Use the PUT method to update or insert a resource. An update request
must provide the unique ID of the resource. To update an object
structure resource, the ID of the main object is required.
使用您提供的 url 收到的回复似乎证实了这一点,因为它表明无法创建工作订单,因为它已经存在:
Error 400: BMXAA4129E - The record for Site=BEDFORD, Work Order=1234
already exists. Ensure that the key value for the given record is
unique.
查看以下信息 url 如果没有唯一 ID,我无法确定执行更新的方法:
此外,Maximo RESTful API Swagger 文档指出 POST 到 /os/mxwo 用于 "Create a new resource":
/maximo/oas3/api.html?includeactions=1#/Work_Order_Definition_(MXWO)/post_os_mxwo
而 POST 到 /os/mxwo/{id} 用于 "Update WORKORDER Object":
/maximo/oas3/api.html?includeactions=1#/Work_Order_Definition_(MXWO)/post_os_mxwo__id_
不过,我能够使用唯一 ID 更新现有工作订单。既然如此,我只能建议以下之一:
- 如果您首先使用 REST/OSLC API 创建工作订单,
从收到的响应中检索并存储唯一 ID
记录被创建。
- 如果上面的 (1) 是不可能的,执行 GET 并使用参数
过滤 wonum 和 siteid 的查询,只接收返回的最小值
字段(例如,仅限工单 ID)。
- 如果 (1) 或 (2) 都不可行,调查是否可行
自定义 Maximo 并为工作订单创建您自己的端点
以 wonum 和 siteid 为参数的对象结构,
检索 mbo 并执行更新。
我们目前使用的是 Maximo 7.6.1 并且已经开始使用 Restful API,并且想知道是否可以通过传递 wonum 和 siteid 而不是 workorderid 来使用 RESTApi 更新工作订单。
我们希望避免对我们的中间件进行一次额外的 GET 调用来检索 workorderid,然后在 PUT 请求中使用它。
使用此 URL(还有 OS)尝试插入记录,即使 HTTP 方法是 PUT。
/maxrest/rest/mbo/WORKORDER?_action=AddChange&siteid=XXX&wonum=7065644&description=测试
任何指点都会有所帮助。
谢谢
IBM 文档似乎建议您只能更新具有唯一 ID 的现有记录:
Use the PUT method to update or insert a resource. An update request must provide the unique ID of the resource. To update an object structure resource, the ID of the main object is required.
使用您提供的 url 收到的回复似乎证实了这一点,因为它表明无法创建工作订单,因为它已经存在:
Error 400: BMXAA4129E - The record for Site=BEDFORD, Work Order=1234 already exists. Ensure that the key value for the given record is unique.
查看以下信息 url 如果没有唯一 ID,我无法确定执行更新的方法:
此外,Maximo RESTful API Swagger 文档指出 POST 到 /os/mxwo 用于 "Create a new resource":
/maximo/oas3/api.html?includeactions=1#/Work_Order_Definition_(MXWO)/post_os_mxwo
而 POST 到 /os/mxwo/{id} 用于 "Update WORKORDER Object":
/maximo/oas3/api.html?includeactions=1#/Work_Order_Definition_(MXWO)/post_os_mxwo__id_
不过,我能够使用唯一 ID 更新现有工作订单。既然如此,我只能建议以下之一:
- 如果您首先使用 REST/OSLC API 创建工作订单, 从收到的响应中检索并存储唯一 ID 记录被创建。
- 如果上面的 (1) 是不可能的,执行 GET 并使用参数 过滤 wonum 和 siteid 的查询,只接收返回的最小值 字段(例如,仅限工单 ID)。
- 如果 (1) 或 (2) 都不可行,调查是否可行 自定义 Maximo 并为工作订单创建您自己的端点 以 wonum 和 siteid 为参数的对象结构, 检索 mbo 并执行更新。