我们的客户将 HL7 消息格式从 2.3 更改为 2.7,我对新消息格式有一些问题。基本上,我们能够以这种方式使用 mina2 协议路由消息:
<route>
<from uri="mina2:tcp://10.124.199.40:2575?sync=true&codec=#hl7codec&minaLogger=true" />
[...]
</route>
在消息标准升级之前它运行良好。实际上,将格式从 2.3 更改为 2.7 不起作用,我们收到以下 DEBUG 消息:
2014-01-13 10:15:57,361 DEBUG HL7MLLPDecoder [104] - Start scanning buffer at position 0
2014-01-13 10:15:57,361 WARN HL7MLLPDecoder [122] - Ignoring unexpected 1st end byte 28. Expected 2nd endpoint
2014-01-13 10:15:57,361 DEBUG HL7MLLPDecoder [56] - No complete message in this packet
我们正在使用 HAPI 作为消息解析器,恐怕这应该是问题所在,但在这种情况下,我期望 Camel 应该能够通过 mina2 路由消息,并且当我们从我们的业务中读取 HL7 消息时类捕获异常。但事实并非如此,似乎 mina2 无法路由消息。
有什么线索吗?是否可以在 mina2 解析之前捕获 MLLP 消息,以确保我们的客户以正确的格式发送它?
我还有一个问题。我试图生成一个非常简单的 jUnit 类来向 String 消息发送消息,但我不知道如何实现 MLLP 消息,我的问题是:mina2 是不是这样做的(将 String 消息包装为 MLLP 格式) 还是我在发送 HL7 消息之前要做的事情?
谢谢,安德里亚