2017-07-28 10 views
0

BizTalkで繰り返し問題が発生しています。私はAS2受信場所を持っています。唯一の仕事はXMLファイルを受け入れることだから、BizTalk Sendポートはそれを受け取り、それをデータベースに読み込むストアドプロシージャに渡すことができます。送信ポートには単一のフィルタBTS.ReceivePortName == "ReceivePortName"があるため、その単一の受信ポートからのファイルのみが渡されます。BizTalk受信ポートで余分な空のファイルが生成される

しかし、クライアントが送信するファイルごとに、ファイルは最初にエラーなしで処理され、すぐに受信ポートに渡されるコンテンツのない2番目の空のファイルが続きます。明らかに、ストアドプロシージャが実行されると、データベースエラーが発生し、送信ポートが中断します。

私たちが入手するすべてのファイルについて、送信ポートはそのポートからのみ受信できるため、受信ポートから来る必要がある「Phantom」ファイルも取得します。しかし、そのポートはクライアントから受信するだけで、クライアントは2番目のファイルを送信していないと主張します。したがって、私は、これがどこから来ているのかを追跡しようとする精神的なループに立ち往生しています。

これをどのように追跡することができますか?誰もこれに前に遭遇しましたか?

答えて

1

これは正常です。空のメッセージはBizTalkによって作成され、MDNは内部的にトリガされます。また、MSDN IsAS2PayloadMessage = True

参照:

は、余分なフィルタを使用しAS2 Context properties

+0

ありがとうございました!あなたと同じように働きました。私はまだBizTalkを初めて使用しており、その機能を認識していませんでした。 – HeightEnvy

1

をあなたが見ていることのBizTalkとAS2処理の正常なと期待される動作です。

  1. 2番目のメッセージは、彼らはそれを要求しているため、発信者ASYNC に返すことになっているあなたが生成されているMDNです:

    は二つの可能性があります。

  2. 発信者は、送信されたメッセージに対して同時にMDNを返送しています。

おそらく#1です。 Walkthrough (AS2): Receiving EDI over AS2 with an Asynchronous MDNには、非同期MDNの処理方法が記載されています。

注:無視することはできません。呼び出し側が要求しており、MDNに処理を完了させる必要があります。

関連する問題