【问题标题】:Failed to initialize XMSFactoryFactory初始化 XMSFactoryFactory 失败
【发布时间】:2018-07-08 18:54:58
【问题描述】:

我是 IBM WebSphere MQ 的新手。我正在尝试使用 Dynamics CRM 插件中的 IBM.XMS dll 连接到 MQ,但出现以下错误。

异常:致命错误。初始化 XMSFactoryFactory 失败 堆栈跟踪:在 IBM.XMS.XMSFactoryFactory.GetXmsFactory(Int32 connectionType) 在 IBM.XMS.XMSFactoryFactory.GetInstance(Int32 connectionType) 在 Mta.ACBPS.Mta.Crm.Plugins.PostMtaMessageCreate.GetConnection(IOrganizationService 服务,mta_mqconnection mqConnectionRecord,ITracingService 跟踪器) 内部异常:System.InvalidCastException:无法将“IBM.XMS.Client.Impl.XmsFactoryFactoryImpl”类型的对象转换为“IBM.XMS.XMSFactoryFactory”类型。

源码是

var connectionfactory = (IConnectionFactory)null;
try
{
var factoryfactory = XMSFactoryFactory.GetInstance(XMSC.CT_WMQ);
connectionfactory = factoryfactory.CreateConnectionFactory();
connectionfactory.SetStringProperty(XMSC.WMQ_QUEUE_MANAGER, mqConnectionRecord.mta_name);
connectionfactory.SetStringProperty(XMSC.WMQ_HOST_NAME, mqConnectionRecord.mta_HostIP);
connectionfactory.SetIntProperty(XMSC.WMQ_PORT, int.Parse(mqConnectionRecord.mta_Port));
connectionfactory.SetStringProperty(XMSC.WMQ_CHANNEL, mqConnectionRecord.mta_Channel);
connectionfactory.SetIntProperty(XMSC.WMQ_BROKER_VERSION, XMSC.WMQ_BROKER_V2);
connectionfactory.SetIntProperty(XMSC.WMQ_CONNECTION_MODE, XMSC.WMQ_CM_CLIENT_UNMANAGED);

}

【问题讨论】:

  • 我删除了 'dynamics-crm' 标记,因为这显然不相关(可能是标记时的拼写错误?)

标签: ibm-mq


【解决方案1】:

显而易见的问题是:您是安装了 MQ 客户端还是只是从某个地方复制了 IBM.XMS.DLL 程序集并使用它? IBM.XMS 依赖于许多其他程序集。仅仅拥有 IBM.XMS 程序集并没有帮助。

IBM XMS .NET 客户端与 MQ 客户端捆绑在一起。所以必须安装 MQ 客户端。您可以从here下载最新的MQ客户端。

安装 MQ 客户端后,请参阅 \Tools\dotnet\samples\cs\xms 目录中的示例。

根据评论更新 我想知道您是否需要在插件中引用其他 XMS 程序集,以便 CRM 找到这些依赖程序集。作为起点,您可以参考IBM.XMS.Client.ImplIBM.XMS.Impl 看看是否有帮助。

【讨论】:

  • 我已经安装了 MQ 客户端。我在控制台应用程序中为 C# 引用了 IBM.XMS dll,代码运行良好。当我在我的动态 CRM 插件中使用相同的插件时,它会显示此错误。
  • 不安装客户端可以做listen方法吗?
【解决方案2】:

这是固定的。我正在引用 IBM.XMS 并使用 ILMerge 将程序集与我的插件代码 dll 合并。我 rmeoved IMLerge,现在插件正在使用 GAC 中为 IBM.XMS 安装的程序集。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-03-25
    • 2012-11-17
    • 2017-12-10
    • 2018-09-17
    • 1970-01-01
    • 2018-10-13
    • 2014-03-13
    • 1970-01-01
    相关资源
    最近更新 更多