gpt4 book ai didi

mirth - 如何在 mirth 3.4 中停止执行并发送带有错误消息的 ack/nack?

转载 作者:行者123 更新时间:2023-12-04 09:42:07 25 4
gpt4 key购买 nike

如果我的问题看起来很幼稚,我是新手,很抱歉。
我有一个接收 hl7 消息的欢乐 channel ,这很好,而且我在 Source 和 Destination 中都有一些过滤器和转换器。

当目的地结束时一切正常,我发送一个带有消息的 ACK,为此我在代码模板中创建了这个函数:

function getAck(success, detailMessage, statusMessage) {
if (!detailMessage)
detailMessage = success ? "Operation completed successfully" : "Some error occours";

if(!statusMessage)
statusMessage = detailMessage;

if (success) {
ack = ACKGenerator.generateAckResponse(connectorMessage.getRawData(), "AA", detailMessage);
resp = new Response(com.mirth.connect.userutil.Status.SENT, ack, statusMessage);
} else {
ack = ACKGenerator.generateAckResponse(connectorMessage.getRawData(), "AE", detailMessage);
resp = new Response(com.mirth.connect.userutil.Status.ERROR, ack, statusMessage, detailMessage);
}

return resp;
}

所以我使用 ACKGenerator.generateAckResponse 来创建一个确认和响应,以便在客户端发送响应。这项工作但仅限于目的地,这就是我的问题。
如果我在目的地之前收到错误(例如在过滤器、转换器等中),我将无法停止执行并发送带有错误解释的 NACK,这就是我想要做的。
我这样做有错吗?

最佳答案

您可以在任何过滤器或转换器中的 responseMap 中存储响应。一旦您在 responseMap 中定义了一个键,它应该可以作为您 channel 的源选项卡上的响应下拉列表中的一个选择(而不是选择一个目的地。)

如果您手动 throw,您当前的连接器应该停止处理状态为 ERROR 的消息。在 responseMap 中设置所需值后出现异常。如果您在过滤器中,您还可以过滤消息而不是抛出异常。

如果您担心未捕获的异常,您可以在 channel 中定义直接影响消息的自定义代码的第一个点使用“未知错误”消息初始化 responseMap 变量(可能是您描述中的源过滤器,但可能如果您使用它们,可能是预处理器或附件处理程序。)期望的是,如果消息一直传递到最后,这将被替换为更具描述性的错误或成功,但 channel 将始终具有要返回的东西。

关于mirth - 如何在 mirth 3.4 中停止执行并发送带有错误消息的 ack/nack?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62277656/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com