简介
我们与外部方交换收入数据。每年所得税法规都会发生变化,并且必须实施新的消息模式。总而言之,我们现在有8个不同的模式版本,每个版本都在单独的“年度所得税”应用程序中部署,并且每年增加1个。使用MQSeries适配器动态设置BizTalk发送端口中的端点定义
因为我们为每个安装的应用程序支付托管公司的费用,我们希望减少安装的应用程序数量。
所有这些应用程序在功能上都是相同的,这意味着我们验证传入消息,并将有效消息转发到特定的MQSeries队列中。每条无效消息都被路由到一个响应队列。每个应用程序都有自己的“有效”和“无效”消息队列。
计划
一个通用的应用程序,其处理所有8(+)的消息。新的模式必须可部署,而不需要对之前运行的“收入年税”流程进行应用程序更改或停机。
到目前为止...
我可以在同一的BizTalk收到多封邮件接收端口(消息类型的XmlDocument),并通过调用自定义接收管道(XML拆装+ XML是能够在业务流程进行动态验证这些消息验证器)。例外情况以及有效的消息按照规定进行处理。 Schema和通用应用程序之间没有引用,因此可以部署模式而无需停止正在运行的进程。到现在为止还挺好。
业务流程有1个接收形状和2个发送形状(有效,无效)。
SSO包含将“有效”和“无效”消息路由到正确队列的值。根据传入消息类型,SSO被询问是否有正确的“有效”或“无效”队列定义。
问题
我以前处理动态FTP,FILE,WCF和SMTP端口,它们都具有正确的上下文属性提供的适配器后,准确无误地运行。即使MSMQ似乎对动态设置传输属性也有相当直接的方法。
但是,我似乎无法找到MQSeries MQMT ContextProperties动态地设置queuedefinition。
微软没有提供关于this的很多信息,而且在互联网上的大量搜索还没有为我提供任何有用的示例。
我试着将IBM's docs与微软的匹配,但总的来说我现在卡住了。