Datapower Gatewayscript Urlopen MQ 从队列中获取指定消息

问题描述 投票:0回答:1

我想检索使用 urlopen 发布在队列上的特定消息,但我只不断从队列中获取随机消息。

该消息是由其他进程发布到队列中的,它给了我相关 ID,我只想获取该特定消息。

const hm = require('header-metadata');
var sm = require('service-metadata');
var urlopen = require('urlopen');


hm.current.set('Content-Type', 'application/json;charset=UTF-8');

session.input.readAsJSON(function (error, json) {
    if (error) {
        // handle error
    }
    else {

           var options = {
            target: 'dpmq://QUEUEMANAGER/?',
            replyQueue: json['replyToQ'],
            transactional: false,
            sync: true,
            timeOut: 10000,
            headers: {
                MQMD: { // JSON object for specified header_name
                    MQMD: { // JSON object for the MQMD header
                        "CorrelId": { "$": json['correlID'].substring(2) },
                    }
                }
            }

        };
        urlopen.open (options, function (error, response) {
            response.readAsBuffer(function (error, buffer) {
                if (error) {
                    // handle error
                    session.output.write(error.errorMessage);
                }
                else {
                    /* write the default output buffer */
                    session.output.write(buffer);
                }
            });

        } );

 
        // write to the output context.
    }
});

有办法只获取带有相关 ID 的消息吗?

ibm-mq urlopen ibm-datapower
1个回答
0
投票

(如果这仍然相关)您是否检查过您的 CorrelID 参数是否包含正确的值?您的输入的结构是什么?

© www.soinside.com 2019 - 2024. All rights reserved.