拦截并修改Ack响应消息BizTalk 2013 R2

时间:2017-02-09 04:24:36

标签: c# biztalk biztalk-2013r2 btahl7 biztalk-pipelines

我编写了一个自定义管道组件汇编程序来修改响应ACK HL7消息。

我在Assemble(pContext)接口的已实现方法Microsoft.Solutions.BTAHL7.Pipelines.HL72fAsm中调用了Assemble(pContext) IAssemblerComponent 给我结果IBaseMessage 这是一个HL7,然后我对它进行操作以修复其中一个字段并返回修改后的IBaseMessage

所有这些都很好,我试过EvenLogger验证它。

但是Sender应用程序仍然没有收到修改后的消息,它会收到自动生成的消息。

我是否遗漏了一些东西,为什么我从2路接收端口的SendPipeline中得不到自定义汇编程序结果

注意:BTAHL7 Configuration Explorer配置为原始模式。 RequestResponse接收端口上的发送管道设置为我的自定义管道

1 个答案:

答案 0 :(得分:0)

我的建议是追求所有更重要的观点。

您和雇主应该说的第一件事就是NO。这是无效的HL7,你不能支持它。

但是,如果他们不愿意遵守,那么您需要做的下一件事就是告知您的管理层他们的违规行为会花费您很多时间和金钱。为了完全支持这种变化,可能会比实施商业信息更加费力,我非常认真。这不是BizTalk Server,你或你的应用程序的问题。

根据关系,您的管理层可以合法地询问他们他们将如何为此自定义付费。为了让他们能够解决问题,打破HL7以符合他们需要付出更多代价。

接下来,也许最重要的是,由于它的消息内容的性质,HL7具有非常严格的完整性要求,它们从根本上打破。贸易伙伴需要完全记录此要求以获取其所有权,因为它会导致<强烈的后果,他们正在破坏跟踪/跟踪。

这意味着为您调查和解决消息传递问题将会非常困难,而不是。这可能会引起您方需要注意的法律或合规问题。

所以,如果技术,医疗和法律团队都满意,我首先要尝试的是管道组件,只需交换两个值,MSH10和MSA02。这样,他们会收到两个值。

最后,这是一个新颖的解决方案。由于这是他们的问题,并且对于他们的每个贸易伙伴都存在问题,如果您提供帮助他们解决问题,该怎么办?然后需要做的就是我建议的,在收到的消息上交换MSH10和MSA02。

相关问题