使用apache camel路由将HL7 v2转换为XML

时间:2014-05-08 11:13:28

标签: hl7-v2

我是HL7的新手。我必须使用apache camel路由将HL7v2转换为XML。我从文件中提取HL7消息。 任何人都可以帮助我如何将HL7转换为XML

1 个答案:

答案 0 :(得分:3)

有一个HL7组件,用于将文件解组为HAPI消息。 HAPI api还包括一个XMLParser,它将消息转换为xml。因此,您应该能够将这两者组合成一个简单的骆驼路线,如下所示:

<bean id="hl7XmlConverter" class="example.Hl7XmlConverter" />

<bean id="hl7FileFilter"
    class="org.apache.camel.component.file.AntPathMatcherGenericFileFilter">
    <property name="includes" value="*.hl7" />
</bean>

<camelContext xmlns="http://camel.apache.org/schema/spring">

    <route id="hl7FileRoute">
        <from
            uri="file:///tmp/test/?delete=true&amp;moveFailed=.error&amp;filter=#hl7FileFilter" />
        <convertBodyTo type="java.lang.String" />
        <log message="HL7 Request: ${body}" />
        <unmarshal>
            <hl7 validate="true" />
        </unmarshal>
        <bean ref="hl7XmlConverter"/>
        <log message="HL7 Response: ${body}" />
    </route>
</camelContext>

bean只是一个简单的方法:

public String convertMessage(Message message) throws HL7Exception{
    XMLParser parser = new DefaultXMLParser();
    return parser.encode(message);
}

根据您所需的xml格式,您还可以在bean之后添加xslt。