- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我们正在使用 C# 开发一个控制台应用程序来访问 IBM WMQ。我们正在使用 IBM Message Service Client for .net (XMS) 和 WebSphere MQ Client。以下是代码示例:
XMSFactoryFactory xff = XMSFactoryFactory.GetInstance(XMSC.CT_WMQ);
IConnectionFactory cf = xff.CreateConnectionFactory();
cf.SetStringProperty(XMSC.WMQ_HOST_NAME, "host");
cf.SetIntProperty(XMSC.WMQ_PORT, 1445);
cf.SetStringProperty(XMSC.WMQ_CHANNEL, "channel");
cf.SetIntProperty(XMSC.WMQ_CONNECTION_MODE, XMSC.WMQ_CM_CLIENT);
cf.SetStringProperty(XMSC.WMQ_QUEUE_MANAGER, "queueManager");
cf.SetIntProperty(XMSC.WMQ_BROKER_VERSION, XMSC.WMQ_BROKER_V1);
cf.SetStringProperty(XMSC.USERID, @"userid");
cf.SetStringProperty(XMSC.PASSWORD, @"");
IConnection conn = cf.CreateConnection();
conn.ExceptionListener = new ExceptionListener(OnXMSExceptionReceived);
Console.WriteLine("connection created");
ISession sess = conn.CreateSession(false, AcknowledgeMode.AutoAcknowledge);
我们不断收到以下错误: CWSMQ0044E: 用户无权连接到队列管理器。应用程序试图在未经授权的情况下连接到队列管理器。确保此用户的队列管理器上存在适当的权限。
但是我们使用spring integration访问同一个MQ是没有问题的。这是 spring 集成的设置:
<bean id="connectionFactoryWBI" class="com.ibm.mq.jms.MQQueueConnectionFactory">
<property name="hostName" value="${hostName}" />
<property name="port" value="${port}" />
<property name="queueManager" value="${queueManager}" />
<property name="channel" value="${channel}" />
<property name="transportType" value="1" />
</bean>
<bean id="connectionFactoryWBIWithCredentials" class="org.springframework.jms.connection.UserCredentialsConnectionFactoryAdapter">
<property name="targetConnectionFactory" ref="connectionFactoryWBI" />
<property name="username" value="${username}" />
</bean>
我是 XMS 和 .net 的新手,不知道如何传递连接到 MQ 的身份验证信息。非常欢迎任何建议!
最佳答案
XMS .NET 和 MQ JMS 客户端的工作方式略有不同。当连接到队列管理器时,XMS .NET 首先发送当前登录的 Windows 用户 ID,然后发送应用程序指定的用户 ID。如果这两个用户 ID 相同,则创建连接。但如果它们不同,那么您将收到 CWSMQ0044E
错误。这基本上是 MQ 原因代码 2035,MQRC_NOT_AUTHORIZED。但是在 MQ JMS 的情况下,只发送应用程序指定的用户 ID,不发送 Windows 用户 ID。因此您看不到错误。
有多种方法可以解决您在使用 XMS .NET 时遇到的问题:
1) 使用 MQ 服务器端安全导出。
2) channel 鉴权记录(MQ v7.1 及以上版本)
这个问题已经讨论过here .
关于c# - 使用 Messsage Service Client for .net 连接到 IBM WMQ 时如何传递身份验证信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13592152/
我们正在使用 C# 开发一个控制台应用程序来访问 IBM WMQ。我们正在使用 IBM Message Service Client for .net (XMS) 和 WebSphere MQ Cli
我是一名优秀的程序员,十分优秀!