Maximo Application Suite中,文档和图像作为附件存储并通过 DOCLINKS 进行链接。虽然这在用户界面中很简单,但以编程方式检索这些附件却不那么直观。

本文将介绍一种使用 REST API 的简单模式,用于:

  1. 通过 DOCLINKS
  1. 检索实际的二进制内容,包括图像

理解流程

Maximo 不会将文档二进制文件直接存储在主业务对象上。相反:

  • DOCLINKS 对象存储有关链接文件和记录的附件元数据
  • DOCINFO 表示实际的文件内容,并通过文档端点进行检索

因此,该过程始终涉及两个步骤:

  1. 查询 DOCLINKS 以识别附件
  1. 使用返回的标识符来获取内容

我的场景

在 Maximo 中,我已将我的头像作为附件添加到我的人员记录中。在此示例中,我的人员记录是 PHIL.RUNION。作为此示例的一部分,我将使用 MXPERSON 对象结构,通过 REST API 和 Postman。

前提条件

  • 在 Manage 中拥有对象结构访问权限
  • 拥有一个供您的用户使用的 Manage API 密钥

步骤 1:设置对象结构

我将从 MXPERSON 对象结构开始,复制它,并将 DOCLINKS 对象添加为源对象。如果现成的对象结构已经包含 DOCLINKS 源对象,则可以直接使用。  

  • 在 Manage 中复制 MXPERSON 对象结构
  • 将 DOCLINKS 添加为源对象,并与主对象建立关系
  • 配置该对象结构的安全访问权限

步骤 2:使用 Postman 拉取您的记录

接下来,我将在 Postman 中建立一个基本的 REST 查询,以拉取我的人员记录。这不仅建立了我们可以进一步构建的连接,还允许我们为下一步拉取文档引用。请注意,在我的查询中,我使用 oslc where 子句仅拉取我的示例记录。除了此请求,您还需要一个带有键“apikey”和有效访问权限的 API 密钥的请求头。  

Postman 中的 GET 查询示例:

https://mas.manage.demo.naviam.app/maximo/api/os/NVMPERSON?oslc.select=personid, displayname, doclinks{*}&oslc.where=personid="PHIL.RUNION"&lean=1


其作用是:

  • `oslc.where=document="..."` 用于筛选特定记录
  • `oslc.select= personid, displayname, doclinks{*}` 返回人员的几个字段以及文档链接的所有可用字段
  • `lean=1` 可移除元数据干扰并简化响应

在 DOCLINKS 对象中,您可以看到可用于提取图像的附件信息。从响应负载中,识别包含以下内容的记录:

  • 内部资源标识符
  • href 值,它代表文档端点

此 href 将用于下一步。

步骤 3:检索图像

获得文档引用后,您可以直接调用文档端点。Postman 的优点在于它可以接收 Base64 格式的原始文档数据并将其可视化。如果您使用其他工具,则需要将输出处理成可用文件。  

示例:

https://mas.manage.demo.naviam.app/maximo/api/os/m4m_doclinks/_MTYwNzc4L0F0dGFjaG1lbnRzLzM5NzE5L1BFUlNPTg--?oslc.select=documentdata&lean=1&inlinedoc=1


关键参数:

  • `oslc.select=documentdata`
    返回文档的二进制内容
  • `inlinedoc=1`
    确保文档数据在响应中以内联方式返回
  • 简洁=1
    保持响应内容简洁明了

常见注意事项

安全与认证

确保您的API调用包含正确的认证信息,通常通过API密钥或会话令牌进行。

性能

避免批量拉取大型文档。建议:

  • 仅检索您所需的文档

文件大小限制

大型附件会显著增加响应大小。如有需要,请考虑流式传输或采用其他处理方式。

对象结构

确切的对象结构可能因您的对象结构配置而异,但其模式保持一致。

一旦您理解了Maximo中元数据与内容的分离,这种方法就变得简单。它特别适用于:

  • 需要附件访问权限的集成
  • 显示图像的自定义UI组件
  • 处理上传文件的自动化

如果您正在基于 MAS API 进行开发,这是一种您会经常用到的模式。

Unlock the Ultimate Guide to IBM Maximo Application Suite (MAS)

Discover everything you need to know to modernize your asset management strategy.

Inside, you’ll learn:

  • What’s new in IBM Maximo Application Suite 9.0
  • Key differences between Maximo 7.6 and MAS
  • How AppPoints and OpenShift change the game
  • Industry use cases across energy, manufacturing, and transportation
  • Step-by-step guidance for upgrading and migration readiness
Cover of 'The Ultimate Guide to MAS Maximo Application Suite' by Naviam featuring a man in a yellow construction helmet and safety vest holding a tablet.
×

ActiveG, BPD Zenith, EAM Swiss, InterPro Solutions, Lexco, Peacock Engineering, Projetech, Sharptree, and ZNAPZ have united under one brand: Naviam.

You’ll be redirected to the most relevant page at Naviam.io in a few seconds — or you can go now.

Read Press Release