The HL7 Transport transport allows you to handle Health Level 7 International (HL7) messages. It is available when you install the Axis2 Transport HL7 feature. This page describes how to enable The following sections describe how to install, enable, and configure the HL7 transport in the following sections:
Table of Contents |
---|
Excerpt | ||
---|---|---|
| ||
WRITERS: the following note comes from http://docs.wso2.org/display/FAQ/Transports#Transports-DoesWSO2ESBsupportHL7v3. If HL7 v3 support changes, be sure to change this info in both places. |
Info |
---|
WSO2 ESB uses the HAPI parser to provide HL7 support, which currently does not support HL7v3. |
Installing the HL7 feature
The HL7 transport is available as a feature in WSO2 Enterprise Service Bus (WSO2 ESB). For instructions on installing the HL7 feature, see Installing the Axis2 Transport HL7 Feature.
Enabling the transport
You enable the HL7 transport in the <ESB_HOME>/repository/conf/axis2/axis2.xml
file as follows:
Code Block |
---|
<transportConfig> <transportReceiver name="hl7" class="org.wso2.carbon.business.messaging.hl7.transport.HL7TransportListener"> <parameter name="port">9292</parameter> </transportReceiver> <transportSender name="hl7" class="org.wso2.carbon.business.messaging.hl7.transport.HL7TransportSender"> <!--parameter name="non-blocking">true</parameter--> </transportSender> </transportConfig> ... <messageFormatters> <messageFormatter contentType="application/edi-hl7" class="org.wso2.carbon.business.messaging.hl7.message.HL7MessageFormatter"/> ... </messageFormatters> ... <messageBuilders> <messageBuilder contentType="application/edi-hl7" class="org.wso2.carbon.business.messaging.hl7.message.HL7MessageBuilder"/> </messageBuilders> |
Configuring the transport
...
Creating an HL7 proxy service
For information on creating a proxy service that uses the HL7 transport, see Creating an HL7 Proxy Service.
Configuring the transport
You can optionally configure the following behavior of the HL7 transport.
...
transport.hl7.corePoolSize
: the core number of threads in the pool. Default is 100.transport.hl7.maxPoolSize
: the maximum number of threads that can be in the pool. Default is 200.transport.hl7.idleThreadKeepAlive
: the time in milliseconds to keep idle threads alive before releasing them. Default is 10000 (10 seconds).
...
Storing messages
You can use the HL7 message store to automatically store HL7 messages, allowing you to audit and replay messages as needed. The HL7 store is a custom message store implementation on top of Open JPA. To use the message store, you take the following steps:
- Create an empty database in your RDBMS, and then create a message store configuration that points to that database.
- Create a sequence that points to that message store configuration.
For example:
Code Block | ||
---|---|---|
| ||
<?xml version="1.0" encoding="UTF-8"?> <definitions xmlns="http://ws.apache.org/ns/synapse"> <proxy name="HL7Store" startOnLoad="true" trace="disable" transports=”hl7”> <description/> <target> <inSequence> <property name="HL7_RESULT_MODE" value="ACK" scope="axis2"/> <log level="full"/> <property name="messageType" value="application/edi-hl7" scope="axis2"/> <clone> <target sequence="StoreSequence"/> <target sequence="SendSequence"/> </clone> </inSequence> </target> <parameter name="transport.hl7.AutoAck">false</parameter> <parameter name="transport.hl7.Port">55557</parameter> <parameter name="transport.hl7.ValidateMessage">false</parameter> </proxy> <sequence name="StoreSequence"> <property name="OUT_ONLY" value="true"/> <store messageStore="HL7StoreJPA"/> </sequence> <sequence name="SendSequence"> <in> <send> <endpoint> <address uri="hl7://localhost:9988"/> </endpoint> </send> </in> <out> <log level="full"/> <drop/> </out> </sequence> <messageStore class="org.wso2.carbon.business.messaging.hl7.store.jpa.JPAStore" name="HL7StoreJPA"> <parameter name="openjpa.ConnectionDriverName">org.apache.commons.dbcp.BasicDataSource</parameter> <parameter name="openjpa.ConnectionProperties">DriverClassName=com.mysql.jdbc.Driver, Url=jdbc:mysql://localhost/hl7storejpa, MaxActive=100, MaxWait=10000, TestOnBorrow=true, Username=root, Password=root</parameter> <parameter name="openjpa.jdbc.DBDictionary">blobTypeName=LONGBLOB</parameter> </messageStore> </definitions> |
...