3

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: Transformer エラー エラー メッセージ: トランス com.webreach.mirth.server.MirthJavascriptTransformerException の評価中にエラーが発生しました: チャネル: v3v2ConversionResponseMessage コネクタ: sourceConnector SCRIPT SOURCE: 行
番号: 5 詳細: 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) で 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. 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.concurrent.java.lang.Thread.run の ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675) (不明なソース)

Envelope と Body の前にある S: タグを削除し、名前空間をデフォルトに再定義すると、新しいエラーが発生します

TypeError: 要素タイプ "targetMessage" に関連付けられた属性 "xsi:nil" のプレフィックス "xsi" はバインドされていません。"

これは

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

その要素の最初の使用と同じ行で定義されている名前空間を Mirth が処理できないかのように。

どんな提案も役に立ちます

4

2 に答える 2

2

入力トランスフォーマーの「StripNamespace」プロパティのチェックを外さなければなりませんでした。

于 2010-03-15T14:00:55.033 に答える
2

ソリューションに追加するには、次の名前空間を確実に削除する必要があります。

  • Source Transformer のインバウンドおよびアウトバウンドメッセージ テンプレート
  • 宛先トランスフォーマーのインバウンドメッセージ テンプレート

インバウンド:

Mirth インバウンド メッセージ テンプレート ストリップ名前空間

于 2011-03-09T19:25:35.930 に答える