BizTalk 接收端口产生额外的空文件
BizTalk Receive port produces extra, empty files
我 运行正在处理 BizTalk 的重复问题。我有一个 AS2 接收位置,它的唯一工作是接受一个 XML 文件,以便 BizTalk 发送端口可以接收它并将它传递给一个存储过程,该存储过程将它读入我们的数据库。发送端口有一个过滤器:BTS.ReceivePortName == "ReceivePortName"
,因此应该传递给它的唯一文件是来自该单个接收端口的文件。
然而,对于我们的客户端发送的每个文件,该文件首先被无误地处理,紧接着第二个没有内容的空文件也被传递到接收端口。很明显,这会在存储过程运行s时抛出数据库错误,导致发送端口挂起。
所以对于我们得到的每个文件,我也会得到一个必须来自接收端口的 "Phantom" 文件,因为发送端口只能从该端口接收。但是,该端口应该只从客户端接收,客户端坚持不发送第二个文件。因此,我陷入了一个试图追踪这是从哪里来的心理循环。
关于如何跟踪这个的任何想法?有人 运行 以前参与过这个吗?
这是正常的,空消息是由 BizTalk 创建的,目的是 - 我假设 - 在内部触发 MDN。
使用额外的过滤器:IsAS2PayloadMessage = True
另请参阅 MSDN:AS2 Context properties
您看到的是 BizTalk 和 AS2 处理的正常和预期行为。
有两种可能:
第二条消息是您正在生成的 MDN,应该返回给调用方 ASYNC 因为他们正在请求它。
呼叫方同时向您返回 MDN,以发送给他们的消息。
很可能是#1。 Walkthrough (AS2): Receiving EDI over AS2 with an Asynchronous MDN 描述了如何处理异步 MDN。
请注意,您不能忽略它们。 调用者正在请求它们并且可能需要 MDN 来完成它们的过程。
我 运行正在处理 BizTalk 的重复问题。我有一个 AS2 接收位置,它的唯一工作是接受一个 XML 文件,以便 BizTalk 发送端口可以接收它并将它传递给一个存储过程,该存储过程将它读入我们的数据库。发送端口有一个过滤器:BTS.ReceivePortName == "ReceivePortName"
,因此应该传递给它的唯一文件是来自该单个接收端口的文件。
然而,对于我们的客户端发送的每个文件,该文件首先被无误地处理,紧接着第二个没有内容的空文件也被传递到接收端口。很明显,这会在存储过程运行s时抛出数据库错误,导致发送端口挂起。
所以对于我们得到的每个文件,我也会得到一个必须来自接收端口的 "Phantom" 文件,因为发送端口只能从该端口接收。但是,该端口应该只从客户端接收,客户端坚持不发送第二个文件。因此,我陷入了一个试图追踪这是从哪里来的心理循环。
关于如何跟踪这个的任何想法?有人 运行 以前参与过这个吗?
这是正常的,空消息是由 BizTalk 创建的,目的是 - 我假设 - 在内部触发 MDN。
使用额外的过滤器:IsAS2PayloadMessage = True
另请参阅 MSDN:AS2 Context properties
您看到的是 BizTalk 和 AS2 处理的正常和预期行为。
有两种可能:
第二条消息是您正在生成的 MDN,应该返回给调用方 ASYNC 因为他们正在请求它。
呼叫方同时向您返回 MDN,以发送给他们的消息。
很可能是#1。 Walkthrough (AS2): Receiving EDI over AS2 with an Asynchronous MDN 描述了如何处理异步 MDN。
请注意,您不能忽略它们。 调用者正在请求它们并且可能需要 MDN 来完成它们的过程。