2012-03-23 71 views
1

如何从Mirth中的仪表板中提取消息?如何从Mirth中的仪表板中提取消息?

基本上使用java脚本,我将如何从Mirth中的仪表板中提取信息。 例如,我在从目标中提取编码数据和ACK后。

我试过的一件事是运行以下后处理程序。但它只是编写原始信息而不是编码。

var log1file=D:\TEST\log1.txt; 
var ReportBody=(messageObject.getEncodedData()); 
FileUtil.write(log1file, true, ReportBody); 

任何建议非常感谢。 谢谢。

回答

0

您不想从仪表板中提取消息。仪表板仅显示其保存的数据库中存储的历史记录。

如果您想在处理消息时将编码数据写入日志文件,请将该代码从后处理器移至源或目标中的变换器javascript步骤(编码数据从源到目的地如果你有变压器步骤或者如果你从HL7更改为XML等)

它实际上是否创建文件?你的文件名没有引号,反斜杠应该是正斜杠。

+0

感谢您对仪表板的回复和解释。当我在目标转换器中尝试脚本时,该文件是空的。我得到一个空的日志文件。更多的建议非常感谢。 谢谢。 – 2012-03-23 18:26:38

+0

编辑答案。你粘贴的代码在文件名周围没有单引号或双引号,而反斜杠应该是正斜杠'var log1file =“D:/TEST/log1.txt”;' – jonduncan05 2012-03-23 20:57:12

1

试试这个...

logger.info('start post script'); 
var status = responseMap.get('Destination Name').getStatus(); 

if ((status == "ERROR" || status == "FAILURE")) 
{ 
    logger.info("Status = "+status); 
    var errormsg = responseMap.get('Destination Name').getMessage(); 
    logger.info(errormsg); 
} 

return; 

getMessage()描述exception(error)描述。

+0

你只能将目的地传递给'responseMap.get '?我还没有找到任何与此相关的文档。 – Paco 2015-10-28 12:33:48