我正嘗試使用我的.Net應用程序中的AMQP 1.0通道連接到IBM MQ 9.0。.Net適用於IBM MQ的AMQP客戶端
MQ Light門戶目前僅支持Nodejs,ruby,java和python客戶端。我們有.Net的MQ Light AMQP客戶端嗎?
我試圖連接到IBM MQ 9 Amqpnetlite客戶
namespace AMQPNetLiteSample
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Start");
//Address addr = new Address("10.58.139.97", 1234, "Username","password", "/", "AMQP");
Address addr = new Address("amqp://10.58.139.97:1234");
Connection con = new Connection(addr);
con.Closed += con_Closed;
Console.WriteLine("Created connection");
Session session = new Amqp.Session(con);
session.Closed += session_Closed;
Console.WriteLine("Created session");
SenderLink link = new SenderLink(session, "sender_12565455877", "/public");
Console.WriteLine("Created link");
var message = new Message();
message.Properties = new Properties();
message.Properties.Subject = "mysamplemsg";
message.ApplicationProperties = new ApplicationProperties();
message.ApplicationProperties["myprop"] = "Hello World";
Console.WriteLine("sending message");
link.Send(message);
}
static void session_Closed(AmqpObject sender, Error error)
{
Console.WriteLine("Session closed");
Console.WriteLine(error.ToString());
}
static void con_Closed(AmqpObject sender, Error error)
{
Console.WriteLine("Connection closed");
Console.WriteLine(error.ToString());
}
}
}
但我不能在建立連接成功。啓動SenderLink時,我得到2035個MQRC_NOT_AUTHORIZED異常。 但是,如果我使用MQ Light nodejs示例(send.js)嘗試使用IBM MQ 9.0 Server中的任何通道身份驗證,則可以連接並將消息發送到AMQP通道。
請建議上述代碼是否需要更改。
是否有人成功與任何其他.Net 1.0 AMQP客戶端建立了與IBM MQ的通信?在這裏需要你的幫助。謝謝。
理論上任何AMQP客戶端都應該工作。您可以在MQ隊列管理器的錯誤日誌中找到有關NO_AUTHORIZED原因的詳細信息。 (AMQERR01.LOG) –