问题标签 [xms]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
893 浏览

.net - IBM XMS .NET - 接收错误 - 原因代码 2003

我们有 .NET 应用程序,它使用 XMS API 从各种队列中读取数据。对于这个特定的应用程序,我们从 3 个队列中读取数据,并且每隔一段时间就会在 3 个队列中的 2 个队列上收到带有原因代码 2003 的错误。所有 3 个队列都设置为具有持久消息。

从我研究的所有内容来看,似乎是一个长时间运行的事务被回滚导致了这个错误。长时间运行的事务被回滚的原因似乎是日志空间耗尽。当事务回滚时,它会将我们之前读取的消息放入队列中,因此我们最终会读取重复的消息。

在 API 中,当我们创建“会话”以从队列中读取数据时,我们为 transacted 参数指定 false。因此,我们从不在会话中调用“提交”。我们还在会话上使用自动确认模式。这使我相信我们没有明确指定任何类型的工作单元,但是是否存在某种隐式事务?棘手的部分是我们能够在 3 个队列中的 1 个队列上正常读取,而不会收到错误。

关于我可以在哪里解决此类问题的任何想法?

创建连接:

创建会话:

创建目的地:

创建消费者:

从队列中读取:

0 投票
2 回答
1027 浏览

c# - 使用 XMS .NET API 处理具有安全退出的安全通道

为了对抗 WMQ 安全通道,我拥有以下发现:

  1. 在 WMQ 场中定义的安全通道
  2. 公钥/私钥
  3. 非托管安全出口程序集

我的问题是如何利用这些资源并使用 XMS API与安全通道交互?(使用 C#)

这是我迄今为止尝试过的,但没有成功:

调用它时出现以下错误:

CWSMQ0006E: 在调用 ConnectionFactory.CreateConnection 方法期间接收到异常:CompCode: 2, Reason: 2195。在执行指定方法期间,另一个组件引发了异常。有关详细信息,请参阅链接的异常。

更新:

我找到了以下技术说明,它描述了我的问题及其可能的(未经测试的)解决方案:

https://www-304.ibm.com/support/docview.wss?uid=swg1IC82112

0 投票
1 回答
186 浏览

windows-8 - 在 Windows 8 上连接到 LDAP 时出现 IBM.XMS.Admin 错误

我只在 Windows 8 中得到以下异常。

XMSAO0121E: 从 LDAP 命名服务返回错误。已对未成功完成的 LDAP 命名服务进行了调用。查看链接的异常详细信息以获取有关问题原因的更多信息。

我在 Windows XP 上有相同的库,并且对于相同的配置它可以正常工作。请帮忙。

问候帕万

0 投票
1 回答
2093 浏览

c++ - 无法使用 XMS 连接到 Websphere MQ 管理器

此代码重现了该问题:

它抛出异常,转储以下消息:

知道代码有什么问题吗?

请注意,这devpmmq只是实际 IP 地址(主机)的别名。如果我为其设置任何随机/无意义的值,我会得到相同的错误,这很糟糕,因为 API 应该提供更好的错误消息,例如“找不到主机”或仅该行的内容。有什么方法可以启用详细的诊断吗?

0 投票
2 回答
627 浏览

.net - WebSphere MQ - 使用 XMS.NET API 更改通道定义结构

我正在尝试设置 MQCD 结构属性 - 特别是使用 XMS.NET API 的 HeartBeatInterval。

背景:我有客户端应用程序(在 .NET 中)使用 XMS.NET API 从 WebSphere MQ 读取消息。我使用 ClientAcknowledge 模式。如果客户端读取了消息但没有确认它,WebSphere MQ 会在超时前等待 300 秒,并使原始队列中的消息可用(回退)以供其他客户端读取消息。

任务:我想将超时时间从 300 秒降低。

我们的 MQ 管理员建议更改频道上的 HearBeatInterval 属性。但是改变它没有任何区别。

显然,以某种方式在客户端设置 Channel 的 HeartBeatInterval 属性(以及服务器端通道设置)将使其工作。我正在尝试在客户端应用程序中设置此值。但是XMS API没有对应于MQCD.HeartBeatInterval属性的属性

在完成降低消息确认超时的任务方面有什么见解吗?甚至在客户端设置 HeartBeatInterval - 如果这样做的话。

0 投票
1 回答
711 浏览

c# - IBM.XMS IMessageConsumer - 不会发布 - 无法取消订阅

首先: 我无法针对 ibm 的 mq 主题在异步持久订阅者上成功执行这些步骤的问题。

我收到 IBM.WMQ.MQException {"2428"} "Failed to unsubscribe from topic X using MQCLOSE。删除订阅可能有问题,因为消息使用者正在使用它。确保使用此订阅的任何消息使用者都是退订前关闭。有关更多信息,请参阅链接的例外。

第二:细节 所以我使用 IBM 的 MQ 基础设施。特别是他们的分布式发布者/订阅者实现的主题实现。我将整个事情包装在一个 .NET WEB API (MVC5) 项目中,以便从组织的其他部分中抽象出所有 MQ 细节。目前忽略所有故障转移等东西。当客户来电时,我首先查看我们是否有呼叫者的 ISession。如果我们这样做,我使用现有的,如果不是,我从共享连接工厂创建一个新的。然后我为消费者创建了一个新的目的地。接下来,我为特定主题路径创建持久订阅。然后我添加一个 MessageListener 并将整个混乱添加到内存缓存中。其他跟踪也会发生,但对本次讨论并不重要。

所以所有的订阅和消息处理工作正常。当我点击取消订阅时,总是失败

基本上说它“正在使用”。我尝试在取消订阅之前停止连接也没有效果。

有人有想法么?结果,在创建订阅后,我完全无法从 MQ 中删除任何订阅。

谢谢

0 投票
1 回答
828 浏览

c# - IBM.XMS.XMSC 不包含 WMQ_Client_Reconnect_Q_MGR 的定义

我创建了一个 .Net Windows 服务以使用 .Net Windows 服务连接到 MQ 队列XMSFactory。我正在尝试实现重新连接功能,但在以下位置找不到属性XMS.dll

“IBM.XMS.XMSC”不包含“WMQ_CLIENT_RECONNECT_Q_MGR”的定义

我正在使用以下版本:

  • MQ 服务器 7.5.0.2
  • MQ 客户端 7.5.0.4
  • .Net 2.0.0.12 的消息服务客户端

请帮忙

0 投票
3 回答
543 浏览

ibm-mq - 如何获取有关从队列中检索到的消息的信息

我是 IBM MQ 的新手。使用以下代码,我可以轻松地将消息放入队列并获取该消息。

您可以很容易地看到我正在向“Q1”写一条消息并从“Q2”读取它,因为 Q1 是别名队列

现在,我想要的是获取有关我在 QueueGet 函数中获得的消息的信息。我想知道的是 gotMessage 来自'Q1',即使我在'Q2'中阅读它。

0 投票
1 回答
2907 浏览

c# - IBM MQ:CWSMQ0082E:无法发送到 CompCode:2,原因:2017

我正在尝试使用 IBM XMS for .NET 发送文本消息。发送大约 254 条消息后,我收到以下错误:

谷歌上没有太多关于它的内容。我在WSMQ Queue Limit找到了一篇相关的帖子

该帖子表明最大队列存在某种限制。帖子中的链接似乎不起作用。我该如何克服这个错误?

0 投票
1 回答
3468 浏览

c# - IBM.XMS ConnectionFactory.CreateConnection:CompCode:2,原因:2035

我正在尝试使用 IBM XMS for .NET 发送文本消息。在调用 IConnectionFactory 的 CreateConnection 方法时出现以下错误

附加信息:CWSMQ0006E:在调用 ConnectionFactory.CreateConnection 方法期间收到异常:CompCode:2,原因:2035。

根据http://www-01.ibm.com/support/knowledgecenter/SSFKSJ_8.0.0/com.ibm.mq.tro.doc/q041060_.htm?lang=en,用户未被授权。我是 IBM MQ 新手,如何授权用户?