IBM MQ Web API:在不指定消息格式的情况下检索消息

后端开发 2026-07-09

第三方应用程序会在我们的队列里放入消息,但没有指定消息格式。这会导致MQ Web API返回如下错误:

"error": [
        {
            "msgId": "MQWBXXXXX",
            "action": "Resubmit the request, correcting any issues.",
            "completionCode": 0,
            "reasonCode": 0,
            "type": "rest",
            "message": "MQWBXXXXX: The received or browsed message type is unsupported by the mqweb server.",
            "explanation": "The mqweb server successfully received an MQ message, but was of an unsupported message type."
        }
    ]

有没有办法让我让MQ Web API直接获取消息,而不管消息格式设置为何?或者说,若不行,是否可以修改队列或QM(队列管理器)上的设置,使其在向队列放入消息时自动将消息格式设为MQSTR?

我们当然也已经请第三方在向队列放入消息时将消息格式设置为MQSTR,但这项变更将花费很长时间,且我们正处在最后期限之下(不是我们都在赶工期吗……)。

感谢任何见解!

解决方案

MQ本身没有固有机制会强制消息描述符使用特定格式。队列管理器(qmgr)并不知道你发送的是字符串,还是在某些情况下可能被解释为字符的二进制数据。

这确实取决于发送方对消息的正确描述。你当然可以为qmgr编写一个API Exit,在你确定确实是文本时覆盖所提供的格式。然后你还需要考虑相关的代码页,以确保文本能够被正确转换。

站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。

相关文章