I appologize.. Newbie here to the open source/project world.  Long time 
programmer in other realms.

I have a base64 encoded pdf that will be sent to me via HL7 in the OBX-5-5 
field of this message body that I need to decode and create an actual pdf file 
on a filesystem.  I have tried various themes of attempting to access the 
unmarshalled structure, but that's where the trail gets cold.
I haven't attached any "code" since it is more representative of thrashing to 
get some sort of result rather than intelligent design.  I created two maven 
archetypes (Camel java DSL and Camel spring) and attempted to re-engineer the 
sample file read-decision-log-write route and take this one step at a time.  
Currently I can receive HL7, ACK, unmarshal, log the message body, marshal, and 
write to entire HL7 message to a file. I wish to receive the HL7, ACK, 
unmarshal, isolate OBX-5-5, decode it's contents back to binary, and write this 
to a new file on the file system with a filename and .pdf extension, and 
dispose of the HL7 message (end the route here).
I've owned :"Camel in Action" for years now, but have not been able yet to 
apply it's wisdom to my situations.  Perhaps a little hand-holding will help me 
see the landscape of this technology.  I am missing something, as to what 
exactly, I've been struggling to figure out. 
So I've been parallel developing two maven projects, one Java DSL and one 
Spring.  Here's the latest skeleton I have for the Spring version:

<?xml version="1.0" encoding="UTF-8"?>
<!-- Configures the Camel Context-->

<beans xmlns="http://www.springframework.org/schema/beans";
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
       xsi:schemaLocation="
       http://www.springframework.org/schema/beans 
http://www.springframework.org/schema/beans/spring-beans.xsd
       http://camel.apache.org/schema/spring 
http://camel.apache.org/schema/spring/camel-spring.xsd";>

<bean id="hl7decoder" 
class="org.apache.camel.component.hl7.HL7MLLPNettyDecoderFactory"/>
<bean id="hl7encoder" 
class="org.apache.camel.component.hl7.HL7MLLPNettyEncoderFactory"/>
<!--<bean id="hl7codec" class="org.apache.camel.component.hl7.HL7MLLPCodec"/> 
-->

  <camelContext xmlns="http://camel.apache.org/schema/spring";>
  
   <endpoint id="hl7listener" uri="mllp://10.105.13.206:8888" />
    <route>
      <from uri="hl7listener"/>
      <convertBodyTo type="java.lang.String" />
      <unmarshal>
        <hl7 validate = "false" />
      </unmarshal>
      <log message="${body}" />
      <marshal><hl7 /> </marshal>
          <log message="Other message"/>
<!--          <convertBodyTo type="java.lang.String"/> -->
          <to uri="file:target/messages/others"/>
    </route>
  </camelContext>
      
</beans>


Ideas?  Thanks!

Reply via email to