适用于IBM MQ的.Net AMQP客户端

桑达

我试图使用来自.Net应用程序的AMQP 1.0通道连接到IBM MQ 9.0。

MQ Light门户目前仅支持Nodejs,ruby,java和python客户端。我们是否有适用于.Net的MQ Light AMQP客户端?

我尝试使用Amqpnetlite客户端连接到IBM MQ 9

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异常。但是,在不更改IBM MQ 9.0 Server中的任何通道认证的情况下,如果我使用MQ Light nodejs示例(send.js)进行尝试,则可以连接并将消息发送到AMQP通道。

请建议以上代码是否需要任何更改。

有没有人成功与其他任何.Net 1.0 AMQP客户端建立与IBM MQ的通信?在这里需要您的帮助。谢谢。

Xin Chen

看来,即使未配置用户名和密码,MQ代理也需要对连接进行SASL协商。您可以按以下步骤在amqpnetlite上启用SASL Anonymous。

Address address = new Address("amqp://10.58.139.97:1234");
Connection connection = new Connection(address, SaslProfile.Anonymous, null, null);
Session session = new Session(connection);
SenderLink sender = new SenderLink(session, "sender-12345", "/public");
Message message = new Message("Hello");
message.Properties = new Properties() { MessageId = "msg", To = "q1" };
sender.Send(message);
connection.Close();

也可以使用ConnectionFactory进行相同的操作。

Address address = new Address("amqp://10.58.139.97:1234");
var factory = new ConnectionFactory();
factory.SASL.Profile = SaslProfile.Anonymous;
Connection connection = await factory.CreateAsync(address);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何编写可以连接到IBM MQ AMQP通道的RabbitMQ Java客户端

来自分类Dev

IBM MQ 服务器设置以创建 .NET 客户端使用的 CCDT 文件

来自分类Dev

IBM MQ .Net客户端v9.1.4无法连接到MQ服务器8.0.0.4 CompCode:2原因:2059

来自分类Dev

具有Java客户端的IBM MQ AMS

来自分类Dev

Apache MQ Artemis-MQTT保留的消息不适用于连接到集群中其他节点的客户端

来自分类Dev

使用适用于.NET的Azure Blob存储客户端库v12下载blob

来自分类Dev

从Windows Cert Store获取.Net MQ客户端时的证书标签

来自分类Dev

IBM MQ传输类型受管工作,但客户端不起作用

来自分类Dev

适用于安全Hbase的Java客户端

来自分类Dev

适用于iOS的Elasticsearch客户端

来自分类Dev

适用于Ubuntu的CalDAV客户端

来自分类Dev

适用于Android的其余客户端日志记录

来自分类Dev

适用于iOS的GraphQL客户端库

来自分类Dev

适用于Android的Socket.io客户端

来自分类Dev

适用于Linux的VMware ESXi客户端吗?

来自分类Dev

适用于UDP / TCP的OpenVPN GUI客户端

来自分类Dev

生成Python客户端库-适用于Android

来自分类Dev

适用于Linux的MySql客户端

来自分类Dev

适用于AIX的Subversion客户端

来自分类Dev

适用于PHP的oAuth客户端模块

来自分类Dev

适用于Ubuntu的CalDAV客户端

来自分类Dev

适用于Android的API客户端

来自分类Dev

适用于旧Debian的RabbitMQ C ++客户端

来自分类Dev

ASP.NET MVC Fluent验证不适用于客户端的视图模型属性,这是另一种类型的类

来自分类Dev

即使客户端关闭,Amqp、rabbit mq 和 socket.io 也会重新连接到队列

来自分类Dev

Postgres 查询适用于 SQL 客户端,但不适用于 Hibernate

来自分类Dev

Signalr .net客户端

来自分类Dev

从mq客户端运行Linux / MQSC命令

来自分类Dev

如何集成Rabbit MQ客户端库

Related 相关文章

  1. 1

    如何编写可以连接到IBM MQ AMQP通道的RabbitMQ Java客户端

  2. 2

    IBM MQ 服务器设置以创建 .NET 客户端使用的 CCDT 文件

  3. 3

    IBM MQ .Net客户端v9.1.4无法连接到MQ服务器8.0.0.4 CompCode:2原因:2059

  4. 4

    具有Java客户端的IBM MQ AMS

  5. 5

    Apache MQ Artemis-MQTT保留的消息不适用于连接到集群中其他节点的客户端

  6. 6

    使用适用于.NET的Azure Blob存储客户端库v12下载blob

  7. 7

    从Windows Cert Store获取.Net MQ客户端时的证书标签

  8. 8

    IBM MQ传输类型受管工作,但客户端不起作用

  9. 9

    适用于安全Hbase的Java客户端

  10. 10

    适用于iOS的Elasticsearch客户端

  11. 11

    适用于Ubuntu的CalDAV客户端

  12. 12

    适用于Android的其余客户端日志记录

  13. 13

    适用于iOS的GraphQL客户端库

  14. 14

    适用于Android的Socket.io客户端

  15. 15

    适用于Linux的VMware ESXi客户端吗?

  16. 16

    适用于UDP / TCP的OpenVPN GUI客户端

  17. 17

    生成Python客户端库-适用于Android

  18. 18

    适用于Linux的MySql客户端

  19. 19

    适用于AIX的Subversion客户端

  20. 20

    适用于PHP的oAuth客户端模块

  21. 21

    适用于Ubuntu的CalDAV客户端

  22. 22

    适用于Android的API客户端

  23. 23

    适用于旧Debian的RabbitMQ C ++客户端

  24. 24

    ASP.NET MVC Fluent验证不适用于客户端的视图模型属性,这是另一种类型的类

  25. 25

    即使客户端关闭,Amqp、rabbit mq 和 socket.io 也会重新连接到队列

  26. 26

    Postgres 查询适用于 SQL 客户端,但不适用于 Hibernate

  27. 27

    Signalr .net客户端

  28. 28

    从mq客户端运行Linux / MQSC命令

  29. 29

    如何集成Rabbit MQ客户端库

热门标签

归档