【发布时间】:2017-09-08 05:22:44
【问题描述】:
我正在尝试使用骆驼为 hl7v2.x 消息设置 mllp 侦听器。
我的环境
- apache 骆驼和组件版本 2.18.3
我还想避免使用 HAPI 库,因为我更喜欢自定义解析器来接收和生成消息。因为我的每个客户都使用不同版本的标准和真正不同的字段用法。这就是为什么在以下路线中没有对 hl7 数据类型进行解组,只是为了字符串。我会自己做解析器。
还有我的路由(所有的bean和变量都在代码的别处定义,我觉得不相关)
from("netty4:tcp://0.0.0.0:3333?
encoder=#encoderHl7&decoder=#decoderHl7&sync=true")
.log("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~")
.unmarshal().string()
.to("file://" + rutaSalidaFichero)
;
首先,作为概念证明,我只是试图将收到的所有消息复制到文件系统目录中。消息被正确接收并写入目录。但是我不知道如何生成和发送ACK,正在自动生成和发送一个不正确的ACK。
如果我从外部/发送系统发送 hl7 消息,camel 组件发送与 ack 相同的消息,因此发送系统会返回错误,因为它不是预期的 ack。我正在使用 mirth、dcm4chee、hapi ... 发送 hl7 消息,所有结果都相同。
例如,如果我从外部/发送者系统发送以下消息 MSH|^~\&|LIS|LIS|HIS|HIS|20170412131105||OML^O21|0000000001|P|2.5|||AL|||8859/1|||1.0 PID|1||123456||APELLIDO1&APELLIDO2^NOMBRE|19200101 ORC|RP|009509452919|317018426||||||20170412000000 OBR|1|317018426|317018426|CULT^CULTIVO
我收到了与发送系统中的 ack 相同的信息。这是生成 ack 作为接收消息的骆驼 MSH|^~\&|LIS|LIS|HIS|HIS|20170412131105||OML^O21|0000000001|P|2.5|||AL|||8859/1|||1.0 PID|1||123456||APELLIDO1&APELLIDO2^NOMBRE|19200101 ORC|RP|009509452919|317018426||||||20170412000000 OBR|1|317018426|317018426|CULT^CULTIVO
我没有在骆驼文档中找到对 ack 生成的引用,或者我是否可以使用自定义“某物”来生成它。我想更改此默认行为。
【问题讨论】:
标签: apache-camel netty hl7