Во-первых, необходимо добавить в WSO2ESB поддержку hl7-транспорта (http://barbitoff.blogspot.com/2011/08/hl7-wso2esb-400.html). После этого можно создать прокси-сервис, который не только сможет принимать hl7-подключения от клиентов и перенаправлять их дальше hl7-серверу, но и принимать xml-сообщения по http/https, и, преобразуя их в hl7, отправлять дальше, преобразую ответ на обратном пути снова в xml.
Процесс создания hl7-сервиса аналогичен созданию обычного сервиса но:
Как протестировать проски-сервис, описано здесь: http://barbitoff.blogspot.com/2011/08/hl7-wso2esb-400_10.html.
Процесс создания hl7-сервиса аналогичен созданию обычного сервиса но:
- Необходимо указать параметр "transport.hl7.Port", значение которого будет указывать порт, который будет слушаться для приема запросов по протоколу hl7 прокси-сервисом (в противном случае ESB пометит сервис как "faulty" и отключит для него hl7-транспорт).
- В качестве конечной точки (endpoint) указывается Address Endpoint с адресом вида "hl7://localhost:9988", указывающим хост и порт hl7-сервера.
Вот пример hl7-прокси-сервиса, принимающего запросы по http, https и hl7, логирующего запросы и ответы и перенаправляющего запрос на hl7-сервер "localhost:9988" :
<proxy xmlns="http://ws.apache.org/ns/synapse" name="hl7testproxy" transports="https,http,hl7" statistics="disable" trace="disable" startOnLoad="true"> <target> <inSequence> <log level="full" /> </inSequence> <outSequence> <log level="full" /> <send /> </outSequence> <endpoint name="endpoint_urn_uuid_9CB8D06C91A1E996796270828144799-1418795938"> <address uri="hl7://localhost:9988" /> </endpoint> </target> <parameter name="transport.hl7.Port">9292</parameter> </proxy>
Как протестировать проски-сервис, описано здесь: http://barbitoff.blogspot.com/2011/08/hl7-wso2esb-400_10.html.
Спасибо! Мне ваши заметки по HL7 сэкономили уйму времени:)
ОтветитьУдалитьПожалуйста, очень рад что мои заметки кому-то оказываются полезны
ОтветитьУдалить