簡介
我們與外部方交換收入數據。每年所得稅法規都會發生變化,並且必須實施新的消息模式。總而言之,我們現在有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與微軟的匹配,但總的來說我現在卡住了。