【问题标题】:How do I connect to the IBM WebSphere MQ without having the IBM WebSphere MQ Client installed on the client machine?如何在没有在客户端机器上安装 IBM WebSphere MQ 客户端的情况下连接到 IBM WebSphere MQ?
【发布时间】:2014-09-17 08:12:48
【问题描述】:

我一直在寻找能够让我做到这一点的东西,但找不到太多。

我按照下面对另一个问题的回答中描述的步骤进行操作 -

https://stackoverflow.com/a/23920904/3299246

但这不起作用。我收到很多错误提示找不到文件/依赖项。

有什么方法可以在不安装客户端的情况下连接到 MQ?

谢谢。

【问题讨论】:

  • 鉴于这是针对移动设备的附加信息,为什么不使用任何 .Net MQTT 兼容库并使用 QMgr 运行 MQXR 组件?
  • 您能详细说明一下吗?

标签: c# ibm-mq


【解决方案1】:

鉴于这是针对移动设备的启示,添加了一个新答案。你没有说这是适用于 Windows Phone 还是 Surface。我对 Surface 不够熟悉,但 IBM 甚至可能有一个可以在上面工作的 MQ 客户端版本。也可能不是。

无论您使用的是 Windows Phone for mobile 还是 Surface 设备,设备连接到 WCF 服务(该服务连接到 WMQ)都应该没有问题。 集成专家詹姆斯对此做了一些工作,下面是一篇博文,可能包含一些想法:

Using .NET WCF to connect to WebSphere MQ

很遗憾,该博客似乎处于非活动状态,因此他的进度可能没有更新。

ETA:只是为了扩展我的评论,可以使 Android 连接到 WCF 服务。一些链接:

【讨论】:

  • 适用于 Android 和 WP。 :)
  • @doodla,我敢打赌,有些库可以让 Android 连接到 WCF 服务。不过,不是 Android 人,我不知道该去哪里找。
【解决方案2】:

恐怕没有正式... 目前,我的理解是运行 MQ .NET 应用程序,您需要安装提供 .NET 功能的 MQ 客户端(或服务器)(通过文件系统或通过 GAC )。您可以在完全托管模式下运行,无需通过 C 运行时组件调用客户端功能。

使用 MQ 的某些版本,您可以只提取您需要的文件(它不仅仅是一个文件!)并且能够在完全托管模式下运行,但我不推荐它...随意提出IBM 的要求

【讨论】:

  • 任何非官方的选项?我尝试使用 IKVM,但这给了我一些错误。也许我做错了。我对 WMQ 一点也不熟悉。这个项目落在了我的腿上。任何事情都会有所帮助。
  • 如果你决定使用 .net C# 接口,目前什么都没有(过去的工作在最近的 MQ 中没有)。请注意作为您问题的直接答案,其他选项包括:-“WebSphere MQ bridge for HTTP”,它使没有 MQ 的客户端能够执行一些基本操作-请记住,它需要在服务器端设置特殊的东西(文档中的 q033180_) . - 如果您不需要 c# 并且可以使用 Java,请查看 8.0.0.1(昨天发布)的新可再发行“所有客户端 jar”,它为您提供了无需完整的 Java 应用程序所需的 jar(s)客户端安装
  • 在另一个答案上也阅读了您的 cmets,如果您的目标是移动设备,那么您应该查看针对此类市场的 mqtt(遥测)客户端/支持
【解决方案3】:

可以掌握自己的生命,尝试使用IKVM 将纯Java WebSphere MQ 库转换为.Net IL。我从未专门使用 WebSphere MQ Java 库尝试过,但我使用许多其他 Java 库的成功率达到了 96%。

即使这可行.... 它将不受支持

【讨论】:

  • 我就是这么做的。不幸的是,其中一个 jar 文件给出了我无法在此处列出的大量错误,因为它们在转换完成时出现在控制台中。起初,我并没有意识到它们是错误的,但是当我转换另一个 jar 文件时,没有那么多文本。
  • 不支持也没关系。
  • Eew... 这可能有点棘手,尤其是当您有多个相互依赖的 jar 时。如果您想执行此操作,请在 Google 上搜索 ikvm Ant 任务。
【解决方案4】:

我想到的第一个答案实际上是一个问题:你到底为什么要尝试这样做?

WMQ 客户端非常不具侵入性,没有它确实没有充分的理由。它是免费使用的,因此成本不是问题。您是否发现了一些 IBM 未能提供客户端版本的利基环境?除非是这种情况,否则我建议你放弃这个想法。

【讨论】:

  • 需要通过手机连接。
  • 啊哈!是的,@doodla,现在很清楚了。您可能想在您的问题中指出这一点——这很重要,到目前为止似乎没有一个答案意识到这一点。
【解决方案5】:

据我所知,移动设备与 WebSphere MQ 的大多数集成都使用 MQTT 和 WebSphere MQ MQXR 组件。 MQXR(Extended Reach)是一个 MQTT 代理,作为 QMgr 的子进程运行。它提供了完整的 MQTT 代理实现,并可选择在 MQTT 和 QMgr 之间建立桥梁。

详情请查看MQ知识中心:

Administering WebSphere MQ Telemetry

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-02-02
    • 2023-03-28
    • 1970-01-01
    • 2022-11-08
    • 1970-01-01
    • 2017-04-30
    • 2018-09-03
    • 1970-01-01
    相关资源
    最近更新 更多