Ошибка Mirth Transformer: префикс для элемента не привязан

Я получаю следующую ошибку при попытке конвертировать 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. transforms.AbstractTransformer.transform(AbstractTransformer.java:200) в org.mule.impl.MuleEvent.getTransformedMessage(MuleEvent.java:251) в org.mule.routing.inbound.Selec tiveConsumer.isMatch(SelectiveConsumer.java:61) в org.mule.routing.inbound.InboundMessageRouter.route(InboundMessageRouter.java:83) в 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.concur rent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675) на java.lang.Thread.run(неизвестный источник)

Когда я удаляю тег S: перед Envelope и Body и переопределяю пространство имен по умолчанию, это дает мне новую ошибку

TypeError: префикс «xsi» для атрибута «xsi: nil», связанный с типом элемента «targetMessage», не привязан».

Это относится к

<targetMessage xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
                xsi:nil="true"/>

Как будто Мирт не может обрабатывать пространства имен, определенные в той же строке, что и первое использование этого элемента.

Любые предложения будут полезны


person Ryan H    schedule 12.03.2010    source источник


Ответы (2)


Мне пришлось снять отметку со свойства «Strip Namespace» на моем входящем преобразователе.

person Ryan H    schedule 15.03.2010

Чтобы добавить решение, вам необходимо убедиться, что вы удалили пространство имен из:

  • шаблон сообщения Inbound AND Outbound исходного преобразователя
  • шаблон сообщения Inbound целевого преобразователя

Входящий:

Пространство имен полос шаблонов входящих сообщений Mirth

person p.campbell    schedule 09.03.2011