在通过Nodejs api连接到Solace消息持久性队列时,我们遇到错误:
{“message”:“此客户端的路由器不支持使用者”,“name”:“OperationError”,“subcode”:3,“reason”:null}
使用Solace Node.js API示例使用soladmin通过Web消息URI连接到持久性消息队列。
consumer.connect = function (argv) {
if (consumer.session !== null) {
consumer.log('Already connected and ready to consume messages.');
return;
}
// extract params
//if (argv.length < (2 + 3)) { // expecting 3 real arguments
if (argv.length < 4) {
consumer.log('Cannot connect: expecting all arguments' +
'[<protocol://host[:port]>, <client-username>, <message-vpn>, <client-password>].\n' +
'Available protocols are ws://, wss://, http://, https://');
process.exit();
}
var hosturl = argv[0] //argv.slice(2)[0];
consumer.log('Connecting to Solace message router using url: ' + hosturl);
//var usernamevpn = argv.slice(3)[0];
var username = argv[1]//usernamevpn.split('@')[0];
consumer.log('Client username: ' + username);
var vpn = argv[2]//usernamevpn.split('@')[1];
consumer.log('Solace message router VPN name: ' + vpn);
var pass = argv[3]//argv.slice(4)[0];
// create session
try {
consumer.session = solace.SolclientFactory.createSession({
// solace.SessionProperties
url: hosturl,
vpnName: vpn,
userName: username,
password: pass,
});
} catch (error) {
consumer.log(error.toString());
}
答案 0 :(得分:0)
消息...
image[j][i]
表示问题出在远程端。
检查客户端配置文件是否允许客户端接收有保证的消息。否则,消息假脱机可能存在问题,导致消息代理无法提供有保证的消息传递服务。
问题中的代码段仅用于启动连接,与连接队列无关。失败的操作应该是
"Consumer is not supported by router for this client"