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 进行开发,这是一种您会经常用到的模式。

MORE Community Logo
Live from the MORE community

Your Maximo questions probably already have answers

See what Maximo users are asking, answering, and solving right now.

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