Scenario: A single healthcare information system needs to be exposed for different healthcare providers (hospitals). The system need to pass HL7 messages that comes via HTTP (API calls) to a HL7 receiver, (over tcp) reliably
TODO: Enable HL7 transport senders in axis2.xml & axis2_blocking_client.xml in WSO2 ESB
following config shows the ESB configuration for iuhealth.com tenant
<?xml version="1.0" encoding="UTF-8"?> | |
<definitions xmlns="http://ws.apache.org/ns/synapse"> | |
<registry provider="org.wso2.carbon.mediation.registry.WSO2Registry"/> | |
<sequence name="hl7callout"> | |
<callout serviceURL="hl7://localhost:9988"> | |
<source type="envelope"/> | |
<target key="mssage"/> | |
</callout> | |
</sequence> | |
<sequence name="hl7msgstore"> | |
<log level="full"/> | |
<store messageStore="JMSMSIU"/> | |
<payloadFactory media-type="xml"> | |
<format> | |
<response xmlns="">HL7 Message Queued For Processing</response> | |
</format> | |
<args/> | |
</payloadFactory> | |
<respond/> | |
</sequence> | |
<sequence name="fault"> | |
<log level="full"/> | |
</sequence> | |
<sequence name="main"> | |
<log/> | |
<drop/> | |
</sequence> | |
<messageStore class="org.apache.synapse.message.store.impl.jms.JmsStore" | |
name="JMSMSIU"> | |
<parameter name="java.naming.factory.initial">org.apache.activemq.jndi.ActiveMQInitialContextFactory</parameter> | |
<parameter name="java.naming.provider.url">tcp://localhost:61616</parameter> | |
<parameter name="store.jms.destination">iuhealth.com</parameter> | |
<parameter name="store.jms.JMSSpecVersion">1.1</parameter> | |
</messageStore> | |
<messageProcessor class="org.apache.synapse.message.processor.impl.sampler.SamplingProcessor" | |
name="HL7MsgProcessorIUHealth" | |
messageStore="JMSMSIU"> | |
<parameter name="interval">1000</parameter> | |
<parameter name="sequence">hl7callout</parameter> | |
<parameter name="concurrency">1</parameter> | |
<parameter name="is.active">true</parameter> | |
</messageProcessor> | |
<api name="healthmsgapi" context="/t/iuhealth.com/healthmsg"> | |
<resource methods="POST" inSequence="hl7msgstore"/> | |
</api> | |
</definitions> |