Mirth Transformer Error:元素的前缀未绑定

时间:2010-03-12 20:12:22

标签: hl7 mirth

尝试将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>

我得到的错误是:

  

ERROR-300:变压器错误   ERROR MESSAGE:评估变压器时出错   com.webreach.mirth.server.MirthJavascriptTransformerException:   CHANNEL:v3v2ConversionResponseMessage   CONNECTOR:sourceConnector   脚本来源:
  行号:5   DETAILS: TypeError:元素“S:Envelope”的前缀“S”未绑定。       在com.webreach.mirth.server.mule.transformers.JavaScriptTransformer.evaluateScript(JavaScriptTransformer.java:460)       在com.webreach.mirth.server.mule.transformers.JavaScriptTransformer.transform(JavaScriptTransformer.java:356)       at org.mule.transformers.AbstractEventAwareTransformer.doTransform(AbstractEventAwareTransformer.java:48)       at org.mule.transformers.AbstractTransformer.transform(AbstractTransformer.java:197)       at 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)       at org.mule.routing.inbound.InboundMessageRouter.route(InboundMessageRouter.java:83)       at org.mule.providers.AbstractMessageReceiver $ DefaultInternalMessageListener.onMessage(AbstractMessageReceiver.java:493)       at org.mule.providers.AbstractMessageReceiver.routeMessage(AbstractMessageReceiver.java:272)       at 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)       在java.lang.Thread.run(未知来源)

当我删除信封和正文前面的S:标签并将名称空间重新定义为默认值时,它会给我一个新错误

  

TypeError:与元素类型“targetMessage”关联的属性“xsi:nil”的前缀“xsi”未绑定。“

这是指

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

好像Mirth无法处理与第一次使用该元素在同一行上定义的名称空间。

任何建议都会有用

2 个答案:

答案 0 :(得分:2)

要添加到解决方案,您必须确保从以下位置删除命名空间:

  • Source Transformer的入站和出站消息模板
  • 目标变压器的入站消息模板

入境:

Mirth Inbound Message Template Strip Namespace

答案 1 :(得分:1)

我必须取消选中传入变压器上的“Strip Namespace”属性。