【问题标题】:Dynamically set Endpoint definition in BizTalk Send Port using MQSeries adapter使用 MQSeries 适配器在 BizTalk 发送端口中动态设置端点定义
【发布时间】:2016-11-16 05:04:03
【问题描述】:

简介

我们与外部方交换收入数据。每年所得税法规都会发生变化,并且必须实施新的消息模式。我们现在总共有 8 个不同的架构版本,每个版本都部署在单独的“年度所得税”应用程序中,并且每年增加 1 个。

由于我们按安装的应用程序向托管公司付费,因此我们希望减少安装的应用程序数量。

所有这些应用程序在功能上都是相同的,这意味着我们验证传入消息,并将有效消息转发到特定的 MQSeries 队列。每个无效消息都被路由到响应队列。每个应用程序都有自己的“有效”和“无效”消息队列。

计划

一个处理所有 8(+) 消息的通用应用程序。新架构必须可部署,无需更改应用程序或停机,以应对以前运行的“所得税年税”流程。

到目前为止...

我可以在同一个 BizTalk 接收端口 (MessageType XmlDocument) 上接收多条消息,并且能够通过调用自定义接收管道 (XML Disassembler + XML Validator) 在业务流程中动态验证这些消息。异常和有效消息按规定处理。 Schemas 和通用应用程序之间没有引用,因此无需停止正在运行的进程即可部署模式。到目前为止,一切顺利。

编排有 1 个接收形状和 2 个发送形状(有效、无效)。

SSO 包含用于将“有效”和“无效”消息路由到其正确队列的值。根据传入的消息类型,SSO 被质疑正确的“有效”或“无效”队列定义。

问题

我之前处理过动态 FTP、FILE、WCF 和 SMTP 端口,在为适配器提供正确的上下文属性后,这些端口都可以正常工作。甚至 MSMQ 似乎也有一种相当简单的方法来动态设置传输属性。

但是,我似乎找不到 MQSeries MQMT ContextProperties 来动态设置队列定义。

Microsoft 没有提供太多关于 this 的信息,并且在 Internet 上进行的大量搜索也没有为我提供任何有用的信息(示例)。

我尝试将 IBM's docs 与 Microsoft 匹配,但我现在完全卡住了。

【问题讨论】:

    标签: c# biztalk ibm-mq biztalk-2013


    【解决方案1】:

    我建议使用 MQSC 适配器进行 IBM MQ 集成。它是主机集成服务器 MSI 的一部分。它只需要在服务器上安装 MQ 客户端 Vs MQ Server for Windows 安装 MQSeries 适配器所需。

    按以下格式设置 OutboundTransportLocation 属性 mqsc://{channelName}/tcp/{server{({port})/{queuemanager}/{queuename}

    TransportType = MQSC

    上下文属性 - 可以在具有命名空间 (http://schemas.microsoft.com/BizTalk/2003/mqs-properties) 的程序集 MQSeriesEx.MQSPropertySchemaEx 中找到架构。

    如果需要,您只需要设置几个上下文属性。

    • Channel_HeartBeat
    • Channel_MaxMessageLength
    • Channel_UserId
    • Channel_Password
    • 连接超时

    如果需要其他属性而不是使用 MQSeries.MQSPropertySchema 上下文属性。

    【讨论】:

      【解决方案2】:

      感谢Vikas 的建议。 我按照你的指示,发现它有效!

      但是,我发现它比需要的要复杂一些,因为它需要我为每个流配置通道名称。

      最适合我的解决方案是我一直在考虑的解决方案,而且它就在我面前。我的尝试失败了,因为我在应该设置动态发送端口属性的地方设置了传出消息的属性,从而犯了一个致命的错误。

      SendPort(Microsoft.XLANGs.BaseTypes.Address)="MQS://SERVER/QMANAGER/QUEUENAME";
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-06-10
        • 2023-03-26
        • 1970-01-01
        相关资源
        最近更新 更多