2014-05-08 47 views

回答

3

有一個HL7組件將文件解組成HAPI消息。 HAPI api還包含一個將消息轉換爲xml的XMLParser。所以,你應該能夠將兩者合併成一個簡單的駱駝路線如下所示:

<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。

+0

非常感謝,現在工作正常 – user3616159