Pergunta

Estou recebendo o seguinte erro ao tentar converter HL7v3 para HL7v2

A mensagem de passado é:

<?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>

O erro que eu recebo é:

ERRO-300: erro Transformer MENSAGEM DE ERRO: Erro transformador avaliar com.webreach.mirth.server.MirthJavascriptTransformerException: Canal: v3v2ConversionResponseMessage Conector: sourceConnector SCRIPT FONTE:
LINHA DE NÚMERO: 5 DETALHES: TypeError: O prefixo "S" para o elemento. "S: Envelope" não está vinculada em com.webreach.mirth.server.mule.transformers.JavaScriptTransformer.evaluateScript (JavaScriptTransformer.java:460) em com.webreach.mirth.server.mule.transformers.JavaScriptTransformer.transform (JavaScriptTransformer.java:356) em org.mule.transformers.AbstractEventAwareTransformer.doTransform (AbstractEventAwareTransformer.java:48) em org.mule.transformers.AbstractTransformer.transform (AbstractTransformer.java:197) em org.mule.transformers.AbstractTransformer.transform (AbstractTransformer.java:200) em org.mule.impl.MuleEvent.getTransformedMessage (MuleEvent.java:251) em org.mule.routing.inbound.SelectiveConsumer.isMatch (SelectiveConsumer.java:61) em org.mule.routing.inbound.InboundMessageRouter.route (InboundMessageRouter.java:83) em org.mule.providers.AbstractMessageReceiver $ DefaultInternalMessageListener.onMessage (AbstractMessageReceiver.java:493) em org.mule.providers.AbstractMessageReceiver.routeMessage (AbstractMessageReceiver.java:272) em org.mule.providers.AbstractMessageReceiver.routeMessage (AbstractMessageReceiver.java:231) em com.webreach.mirth.connectors.vm.VMMessageReceiver.getMessages (VMMessageReceiver.java:207) em org.mule.providers.TransactedPollingMessageReceiver.poll (TransactedPollingMessageReceiver.java:108) em org.mule.providers.PollingMessageReceiver.run (PollingMessageReceiver.java:90) em org.mule.impl.work.WorkerContext.run (WorkerContext.java:290) em edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor $ Worker.runTask (ThreadPoolExecutor.java:650) em edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor $ Worker.run (ThreadPoolExecutor.java:675) em java.lang.Thread.run (fonte desconhecida)

Quando eu remover o S: tag na frente do envelope e Corpo e redefinir o namespace para o padrão, dá-me um novo erro

TypeError: O prefixo "xsi" para o atributo "xsi: nil". Associada a um tipo de elemento "targetMessage" não é obrigado"

Este é referente a

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

Como se Mirth não pode lidar com os namespaces a ser definidos na mesma linha que o primeiro uso desse elemento.

Todas as sugestões seriam úteis

Foi útil?

Solução 2

Eu tive que desmarque a propriedade "Strip Namespace" no meu transformador de entrada.

Outras dicas

Para adicionar a solução, você tem que garantir que você Faixa de Namespace de:

  • do Transformer Fonte entrada e saída modelo de mensagem
  • o destino do Transformer Inbound modelo de mensagem

A entrada:

Mirth Inbound mensagem Template Faixa Namespace

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top