Я получаю следующую ошибку при попытке конвертировать HL7v3 в HL7v2
Сообщение передано в:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<PRPA_IN201306UV02 xmlns="urn:hl7-org:v3" xmlns:ns2="urn:gov:hhs:fha:nhinc:common:nhinccommon" xmlns:ns3="urn:gov:hhs:fha:nhinc:common:patientcorrelationfacade" xmlns:ns4="http://schemas.xmlsoap.org/ws/2004/08/addressing" ITSVersion="XML_1.0">
<id extension="4ae5403:12752e71a17:-7b52" root="1.1.1"/>
...
</PRPA_IN201306UV02>
</S:Body>
</S:Envelope>
Я получаю ошибку:
ОШИБКА-300: Ошибка трансформатора
СООБЩЕНИЕ ОБ ОШИБКЕ: Ошибка оценки трансформатора
com.webreach.mirth.server.MirthJavascriptTransformerException:
КАНАЛ: v3v2ConversionResponseMessage
СОЕДИНИТЕЛЬ: sourceConnector
ИСТОЧНИК СКРИПТА:
НОМЕР ЛИНИИ: 5
ДЕТАЛИ: TypeError: Префикс "S" для элемента "S: Envelope" не связан.
на com.webreach.mirth.server.mule.transformers.JavaScriptTransformer.evaluateScript (JavaScriptTransformer.java:460)
на com.webreach.mirth.server.mule.transformers.JavaScriptTransformer.transform (JavaScriptTransformer.java:356)
в org.mule.transformers.AbstractEventAwareTransformer.doTransform (AbstractEventAwareTransformer.java:48)
на org.mule.transformers.AbstractTransformer.transform (AbstractTransformer.java:197)
на org.mule.transformers.AbstractTransformer.transform (AbstractTransformer.java:200)
в org.mule.impl.MuleEvent.getTransformedMessage (MuleEvent.java:251)
в org.mule.routing.inbound.SelectiveConsumer.isMatch (SelectiveConsumer.java:61)
в org.mule.routing.inbound.InboundMessageRouter.route (InboundMessageRouter.java:83)
at org.mule.providers.AbstractMessageReceiver $ DefaultInternalMessageListener.onMessage (AbstractMessageReceiver.java:493)
в org.mule.providers.AbstractMessageReceiver.routeMessage (AbstractMessageReceiver.java:272)
в org.mule.providers.AbstractMessageReceiver.routeMessage (AbstractMessageReceiver.java:231)
на com.webreach.mirth.connectors.vm.VMMessageReceiver.getMessages (VMMessageReceiver.java:207)
в org.mule.providers.TransactedPollingMessageReceiver.poll (TransactedPollingMessageReceiver.java:108)
в org.mule.providers.PollingMessageReceiver.run (PollingMessageReceiver.java:90)
на org.mule.impl.work.WorkerContext.run (WorkerContext.java:290)
в edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor $ Worker.runTask (ThreadPoolExecutor.java:650)
в edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor $ Worker.run (ThreadPoolExecutor.java:675)
at java.lang.Thread.run (неизвестный источник)
Когда я удаляю тег S: перед конвертом и телом и переопределяю пространство имен по умолчанию, это дает мне новую ошибку
TypeError: Префикс "xsi" для атрибута "xsi: nil", связанного с типом элемента "targetMessage", не связан. "
Это относится к
<targetMessage xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:nil="true"/>
Как будто Mirth не может обрабатывать пространства имен, определяемые в той же строке, что и первое использование этого элемента.
Любые предложения будут полезны