2

HL7メッセージをBizTalkに送信しようとすると、次のメッセージとともにエラーコード0xC0C01B4e(ルーティング障害レポート)が表示されます。

<名前が利用できません>のルーティング失敗レポート

私はこれを最後の日まで機能させていましたが、今このメッセージを受け取っています。

私のシナリオ:

1 Request/Response Recieve Port named HL7Test.In
1 Receive Location for the Receive Port called HL7Test.In.MLLP
   Type is MLLP
   Receive pipeline is BTAHL72XRecievePipeline
   Send pipeline is BTAHL72XSendPipeline
1 Send Port
   Type is file
   Send pipeline is Passthrough
   Filter is BTS.ReceivePortName == HL7Test.In
1 Party configuration called "REG", with the following BTAHL7 configuration:
   Acknowledgemnt type: OriginalMode
   Validate body segments: Enabled
   Validate custom datat types: Enabled
   Alow trailing delimiters: Enabled
   Schema namespace: http://microsoft.com/HealthCare/HL7/2X
I've deployed the BTAHL7V2XCommon, BTAHL7V21Common and ADT message schemas

サードパーティアプリケーションからMLLPを使用してHL7メッセージを送信します。ackが返されません。ファイルが書き込まれません。上記のように、再開不可能なエラーが1つ生成されます。

私が送信しているメッセージは次のとおりです。

MSH | ^〜\&| REG | FAC ||| 201207271419 || ADT ^ A04 | 504111 | D | 2.1 ||| AL | AL |
EVN | A04 | 201207271419 || 02 PID | 1 || M11 || REGRIHSOT ^ xyz ^ 2 ^ 3 ^ 5 ^ 6
NK1 | 1 | Regrihsot ^ Wife ^ 3 ^ 4 ^ 5 ^ 6 | W | 1 ^ 2 ^ city ^ BC ^ V1S 0A7 ^ 6 ^ 7 ^ 8 |
PV1 | 1 | E | KAMRIHED ||||| MITD4 |||||| HO |||| ED || BC ||||||||||||||||||| FAC || REG ||| 201207271417 |
ZAD | MAIL ^ 1 ^^ city ^ BC ^ V1S 0A7 | PHYS ^1^^カムループス^BC^ V1S0A7 | ZTZ | PT |
ZGC | ^^ |

そして、これはすべて1時間前に正常に機能しました。

4

2 に答える 2

3

ACKを消費する送信ポートも必要なようです。私は以前にこれを持っていたので、フィルターを使用して追加しました:

BTS.MessageType == http://microsoft.com/HealthCare/HL7/2X#ACK_24_GLO_DEF

私が理解していないのは、なぜこのメッセージを消費する必要があるのか​​ということです。

于 2012-08-02T22:10:12.967 に答える
1

MLLPアダプターの経験はあまりありませんが、一般に、BizTalk環境に公開されるメッセージにはサブスクライバーが必要です。メッセージを待っている人がいない場合、BizTalkはメッセージをエラーとして扱い、例外ルーティングの失敗をスローします。これは理にかなっています。なぜなら、BizTalkが一方的なメッセージを例外として扱わない場合、時間の経過とともに、環境はそれらすべての一方的なメッセージで肥大化するからです。

MLLP要求/応答アダプターがACKを取得し、ループを閉じる必要があると予想していました。ACKを取得するために別の送信ポートを作成する必要がある理由がわかりません。その方向で調査する価値があるかもしれません。

于 2012-08-26T15:30:38.337 に答える