我们目前在 Maximo 7.6.1 上,已经开始使用 Restful APIs,想知道是否有办法通过传递 wonum 和 siteid 而不是 workorderid 来使用 RESTApi 更新工单。
我们希望避免中间件额外的GET调用来检索workorderid,然后在PUT请求中使用它。
使用这个URL(OS也是)尝试插入一条记录,即使HTTP方法是PUT。
maxrestmboWORKORDER?_action=AddChange&siteid=XXX&wonum=7065644&description=Testing。
任何指点都会有帮助。
谅谅
IBM文档似乎建议你只能用唯一的ID更新现有记录。
使用PUT方法来更新或插入资源 更新请求必须提供资源的唯一ID。要更新一个对象结构资源,需要提供主对象的ID。
使用您提供的网址收到的响应似乎证明了这一点,因为它表明工单已经存在,无法创建。
Error 400: BMXAA4129E - The record for Site=BEDFORD, Work Order=1234 already exists. 确保给定记录的键值是唯一的。
查看以下网址的信息,我无法确定在没有唯一ID的情况下执行更新的方法。
此外,Maximo RESTful API Swagger 文档指出,对 osmxwo 的 POST 用于 "创建一个新资源"。
maximooas3api.html?includeactions=1#Work_Order_Definition_(MXWO)post_os_mxwo。
而对osmxwo{id}的post则用于 "更新WORKORDER对象"。
maximooas3api.html?includeactions=1#Work_Order_Definition_(MXWO)post_os_mxwo__id_。
然而,我能够使用唯一的ID更新现有的工单。 在这种情况下,我只能提出以下建议之一。