У меня есть пункт назначения, который отправляет сообщение HL7 v2 в веб-службу WCF. Мне удалось корректно получить сообщение в webservice (после устранения различных проблем с кодировкой), и я могу подтвердить, что сообщение правильно доходит до конечной точки WCF. Однако после многократной охоты на форумах и документации я не могу правильно разобрать ACK, который мы получаем, чтобы указать, когда произошла ошибка.Как извлечь ACK из ответа веб-службы в Mirth?
Отклик возвращается из веб-сервиса выглядит следующим образом:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Header/>
<s:Body>
<ProcessMessageResponse xmlns="http://www.bluewire-technologies.com/webservices">
<ProcessMessageResult>
MSH|^~\&|Epro|RGR|||||ACK||D||||||GBR|ASCII|
MSA|AE||Empty message|
ERR|^^^100|
</ProcessMessageResult>
</ProcessMessageResponse>
</s:Body>
</s:Envelope>
Ответ содержит ACK в элементе ProcessMessageResult. Как извлечь этот ACK из ответа и передать его в качестве результата назначения? Will Mirth автоматически проанализирует ACK и определит, что произошла ошибка?
Я думал, что мне нужно какое-то трансформатор от назначения (так называемый «SOAP») и использовать что-то вдоль линий:
var xml = responseMap.get('SOAP').getMessage();
и затем извлечь элемент ProcessMessageResponse но responseMap.get (» SOAP ') возвращает значение null, так что это неправильный подход.