#node.js #ibm-mq
#node.js #ibm-mq
Вопрос:
Я подключаюсь к IBMMQ, у которого есть ssl. Я могу подключиться к этому IBM MQ, используя Java-код и используя MQ explorer. Теперь пытаюсь подключиться с помощью узла. Я следовал приведенному здесь коду, заменив все требуемые значения на те, которые я получил, а затем при выполнении я получаю ошибку
D:IBMMQnode_modulesibmmqlibmqiutils.js:46
throw new RangeError(errstring);
^
RangeError: Input string is too long for MQI field
at Object.exports.setMQIString (D:\IBMMQnode_modulesibmmqlibmqiutils.js:46:13)
at Object.exports._copyCDtoC (D:\IBMMQnode_modulesibmmqlibmqcd.js:329:5)
at Object.exports._copyCNOtoC (D:\IBMMQnode_modulesibmmqlibmqcno.js:131:21)
at connx (D:\IBMMQnode_modulesibmmqlibmqi.js:754:21)
at Object.exports.Connx (D:\IBMMQnode_modulesibmmqlibmqi.js:727:3)
at Object.<anonymous> (D:IBMMQTestMQOMS.js:45:4)
at Module._compile (internal/modules/cjs/loader.js:1133:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1153:10)
at Module.load (internal/modules/cjs/loader.js:977:32)
at Function.Module._load (internal/modules/cjs/loader.js:877:14)
Поскольку это может быть проблема с длиной строки, я попытался обновить значение своего шифра до просто «xyz», но затем я вижу ошибку
MQ call failed in CONNX: MQCC = MQCC_FAILED [2] MQRC = MQRC_KEY_REPOSITORY_ERROR [2381]
Есть идеи, как я могу исправить ‘RangeError:’ .
Комментарии:
1. На самом деле вы не удосужились указать, КАКУЮ спецификацию шифрования вы пытались установить. Я предполагаю, что вы пытаетесь использовать то же имя, что и в программе Java. Но поддержка nodejs основана на клиенте C, который часто будет иметь разные имена и должен умещаться в 32 символа/
2. Обычно, задавая вопрос о коде в StackOverflow, обычно показывается ваш код, по крайней мере, небольшой фрагмент кода, который, по вашему мнению, может быть проблематичным.
3. да, я использовал тот же код, что и упомянутый здесь github.com/ibm-messaging/mq-mqi-nodejs/blob/master/samples /. … Изменились только значения.
Ответ №1:
Как предложил Марк Тейлор, я использовал шифр меньшего размера в соответствующем списке шифров. Код сработал.