HL7v2メッセージをWCFWebサービスに送信する宛先があります。(さまざまなエンコードの問題を修正した後)Webサービスにメッセージを正しく送信でき、メッセージがWCFエンドポイントに正しく到達していることを確認できます。ただし、フォーラムやドキュメントを何度も探し回った後、受け取ったACKを正しく解析して、エラーが発生したことを示すことができません。
Webサービスから返される応答は次のようになります。
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Header/>
<s:Body>
<ProcessMessageResponse xmlns="http://www.bluewire-technologies.com/webservices">
<ProcessMessageResult>
MSH|^~\&|Epro|RGR|||||ACK||D||||||GBR|ASCII|
MSA|AE||Empty message|
ERR|^^^100|
</ProcessMessageResult>
</ProcessMessageResponse>
</s:Body>
</s:Envelope>
応答には、ProcessMessageResult要素にACKが含まれています。このACKを応答から抽出し、宛先の出力として渡すにはどうすればよいですか?MirthはACKを自動的に解析し、エラーがあったと判断しますか?
私は目的地にある種の変圧器(「SOAP」と呼ばれる)が必要であり、次のようなものを使用すると思っていました。
var xml = responseMap.get('SOAP').getMessage();
次に、ProcessMessageResponse要素を抽出しますが、responseMap.get('SOAP')はnullを返すため、これは間違ったアプローチのようです。