我已经编写了一个自定义管道组件组装器来修改响应确认HL7消息。
我在IAssemblerComponent接口的实现方法Assemble(pContext)中调用了Microsoft.Solutions.BTAHL7.Pipelines.HL72fAsm的Assemble(pContext),结果IBaseMessage是一个HL7,然后我对它进行操作,以修复其中一个字段并返回修改后的IBaseMessage。
所有这些都工作得很好,我尝试了EvenLogger来验证它。
但是Sender应用程序仍然没有接收到修改后的消息,它接收的是自动生成的消息。
我是不是遗漏了什么,为什么我不能从2路接收端口的SendPipeline中得到定制汇编的结果
注: BTAHL7配置资源管理器配置为原始模式。RequestResponse接收端口上发送管道设置为我的自定义管道
发布于 2017-02-19 21:55:54
我的建议毕竟是更重要的几点。
作为雇主或客户,你应该说的第一件事是不。这是无效的HL7,您不能支持它。
但是,如果他们无法不愿意遵守,您需要做的下一件事是通知您的管理层,他们的不遵守将花费您大量额外的时间和金钱来适应。为了完全支持这一变化,的成本可能会比实现业务消息的成本更高,我是完全认真的。这不是BizTalk服务器的问题,你的应用程序或你。
根据关系的不同,您的管理人员可以合理地询问他们如何为此定制支付费用。与他们修复相比,打破HL7来遵守它们的成本要高得多。
下一步,也许是最重要的,由于其消息内容的性质,HL7有非常严格的完整性要求,他们从根本上破坏了。贸易合作伙伴需要完整地记录这一要求才能获得所有权,因为这会带来巨大的后果,他们正在破坏你方的跟踪/跟踪。
这意味着为您调查和解决消息传递问题将变得更加困难,而不是他们。这可能会引起你方需要注意的法律或合规性问题。
因此,如果您的技术、医疗和法律团队都感到满意,我将首先尝试一个管道组件,它简单地交换两个值,MSH10和MSA02。通过这种方式,它们将同时接收这两个值。
最后,这里有一个新颖的解决方案。既然这是他们的问题,也是他们每个贸易伙伴的问题,如果你帮助他们解决它会怎么样。然后,所有需要做的就是我建议的,在收到的消息上交换MSH10和MSA02。
https://stackoverflow.com/questions/42128230
复制相似问题