2016-04-28 74 views
0

我试图弄清楚是否可以设置Mirth将2 ACK发回给主叫应用程序: A)1当传输已发送时,由Mirth发送给主叫方的ACK来自Mirth; B)在信道完成处理消息后,1从Mirth发送给主叫方的ACK。欢乐连接:2路ACK

我知道,欢乐可以被配置的处理之前发送ACK(情况A以上)或处理(情况B以上),但之后,我找不到任何方式同时发送。 有没有人有这样做的经验? 谢谢大家的帮助。

回答

0

欢乐使用单个responseMap来存储其所有的脚本后处理确认。因此,如果您在接收到消息时将任何内容放入其中,则此Ack将在最后放入相同地图中的新Ack中覆盖。只有后者会发送,你已经经历过,我猜。

如果我是正确的,你试图实现的是,首先,确认消息是由远程位置接收的(我们称之为系统B),其次,确认消息已成功处理。如果您的客户端(系统A)能够向系统B的两个端点发送消息,那么您可以在系统B端创建两个接收通道,其中一个通道在接收到该消息后立即发送ACK并且不执行任何操作。另一个通道处理消息并在后处理器中发送ACK。

还有其他的选择,比方说,在系统B侧重定向传入消息到形成的Ack,并将其发送回系统A,但随后系统A应该具有在其一侧的监听另一信道。

或者,系统B可能有一个接收通道,立即发送确认,路由消息到连接到其目的地的另一个通道,并删除该目的地以防止传入消息传播到该通道。第二个通道处理消息并将Ack发送回第一个通道。第一通道重新发送确认回系统A.(我没有测试过这样的配置,所以这只是一个想法,克服单一responseMap,它可能无法正常工作。)

+0

谢谢您的帮助,您指引我在正确的轨道上。 它工作得很好,我有一个“调度员”信道监听端口5000,其中,确认收到该消息时,相同的IP /端口上,并在相同的连接,然后转发使用MLLP(消息到第二信道上同样的欢乐,但在港口5001)。 这个第二个通道详细描述了HL7消息,等待来自应用程序的ACK(应用程序ACK),然后将这个第二个ACK的结果发送到另一个IP /端口(由HIS管理员给我) 。 –