如何通过REST API设置IBM MQ消息的优先级?

时间:2019-05-03 15:20:34

标签: rest ibm-mq

我正在尝试通过REST API将消息放入IBM MQ队列,但是我不知道如何在请求中设置优先级。我尝试仅使用“优先级”作为查询参数,但收到以下错误:

"error": [
        {
            "action": "Resubmit the request with an appropriate set of parameters.",
            "completionCode": 0,
            "explanation": "The REST API does not support this query parameter for this operation.",
            "message": "MQWB0019E: The query parameter 'priority' is not allowed.",
            "msgId": "MQWB0019E",
            "reasonCode": 0,
            "type": "rest"
        }
    ]

Question 36399382提到了同时使用“ priority”和“ targetClient”查询参数,但这似乎仅适用于Apache Camel,甚至尝试也没有用。

我已经浏览了所有可以找到的IBM MQ REST API文档,但是我所遇到的问题都没有解决。我确定某个地方有一些文档,但我只是找不到。这是必须在服务器上配置的特定内容,还是我的语法有问题?

谢谢!

1 个答案:

答案 0 :(得分:2)

消息传递REST API,即到/messaging/qmgr/{qmgrName}/queue/{queueName}/message的HTTP POST,目前不包含用于设置消息优先级的标头。

它包含correlationIdexpirypersistenceReplyTo的标头。参见reference material here

如果您有需要设置不同优先级的请求,则可以为DEFPRTY属性创建具有不同值的不同ALIAS Queue定义,所有这些都指向同一个LOCAL Queue,并让REST API应用程序使用适当的ALIAS队列名称是为了将优先级设置为所需的名称。