エラーのトラブルシューティング
このセクションでは、BTAHL7 で生成されたエラーに関連する問題について説明します。
MLLP アダプターは、1 つのホスト インスタンスでのみ実行できます
症状
トランスポートの種類が MLLP で、受信ハンドラーが別の既存の受信場所とは異なる受信場所を有効にすることはできません。 さらに、別の既存の送信ポートとは異なる送信ハンドラーを使用して送信ポートを参加および開始することはできません。
考えられる原因 : 1 つのサーバーで使用できる MLLP 受信 (または送信) ハンドラーは 1 つだけです。 さらに、受信場所 (または送信ポート) に指定された URI (MLLP トランスポート プロパティのホスト名) は、"localhost" であるか、受信 (または送信) アダプター ハンドラーのホスト インスタンスが実行されているサーバー名である必要があります。
解決策 : 1 台のサーバー上のすべての MLLP 受信場所 (または送信ポート) に対して同じ受信 (または送信) ハンドラーを指定します。
MSH スキーマと ACK スキーマを 1 つのプロジェクトにのみ追加する必要がある
症状
プロジェクトをビルドしようとすると、次のいずれかのエラーが発生します。
Error: Cannot locate document specification as multiple schemas match the message type "http://microsoft.com/HealthCare/HL7/2X#MSH_24_GLO_DEF"
Schema http://microsoft.com/HealthCare/HL7/2X#MSH_24_GLO_DEF not found
考えられる原因 : MSH スキーマと ACK スキーマ (MSH_25_GLO_DEF.xsd および ACK_24_GLO_DEF.xsd) が複数のプロジェクトにデプロイされています。
解決策 : MSH_25_GLO_DEF.xsd と ACK_24_GLO_DEF.xsd が 1 つのプロジェクトにのみ追加されていることを確認します。
System.OutOfMemoryException 型の例外によって、イベント ログにエラーがスローされました
症状
イベント ログに次のようなエラーが表示されます。
Exception of type System.OutOfMemoryException has thrown an error.
考えられる原因 : 大量のメッセージを処理しているときに、一部の BTAHL7 エンジン コンポーネントでメモリ リークが発生する可能性があります。
解決策: BizTalk Serverを再起動します。
ヘッダーのシリアル化により、イベント ビューアーでエラーが生成されます
症状
正常性とアクティビティ追跡 (HAT) ツールのメッセージが成功を示していても、イベント ログに次のようなエラーが表示されます。
An error happened in the header during serialization.
考えられる原因: BTAHL7 構成エクスプローラーでメッセージ ヘッダー変換の値が正しく設定されていません。
解決方法: BTAHL7 構成エクスプローラーで MSH マップ値を確認します。
重複するイベント ID 4133 シリアライザー エラーがログに記録される
症状
イベント ID 4133 – "シリアル化中にヘッダーでエラーが発生しました" は、無効な MSH11 値を持つメッセージのすべてのインスタンスに対して 2 回発生します。
考えられる原因 : イベント ログで重複するエラーが発生せずに、2 つの受信確認 (コミットとアプリケーション ACK) の処理中にエラーが発生しました。 代わりに、2 つの ACL ごとに 1 つのイベント ID 4133 を受け取ります。 BTAHL7 は、生成する ACK ごとにログ エントリを作成します。
解決策 : メッセージの書式が正しく設定され、MSH11 フィールドが設定されていることを確認します。
2 方向 MLLP アダプターを使用すると、送信パイプラインでエラーが生成される
症状
イベント ログに次のようなエラーが表示されます。
There was a failure executing the send pipeline: "[!INCLUDE[btaBTAHL71.3abbrevnonumber](../../includes/btabtahl71-3abbrevnonumber-md.md)]2XPipelines.[!INCLUDE[btaBTAHL71.3abbrevnonumber](../../includes/btabtahl71-3abbrevnonumber-md.md)]2XSendPipeline" Source: "Microsoft.Solutions.[!INCLUDE[btaBTAHL71.3abbrevnonumber](../../includes/btabtahl71-3abbrevnonumber-md.md)].HL72fAsm" Send Port: "<*host name: port number*>" Reason: Message does not contain a part with name MSHSegment.
考えられる原因: 受信アプリケーションが受信確認で応答せず、BizTalk Serverは受信側アプリケーションからの応答を予期しています。
解決策 : これは設計上のものであり、エラー メッセージは無視できます。