【发布时间】: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