我的公司使用 BizTalk 进行 EDI 和 AS2 通信。一个周期性问题是,与我们一起传输的 VAN 或类似合作伙伴会想知道我们是否通过它的 ISA # 收到文件。我们目前确实使用 ISA # 在我们的端口内进行路由,但我似乎无法找到该信息存储在 BizTalk 中的任何地方。有没有办法查找 BizTalk 收到的 ISA# 的 EDI 消息?或者也许我可以得到它并自己存储它?
2 回答
如果您没有明确使用业务活动监控 (BAM) 来跟踪此问题,则可以使用消息跟踪。
如果你有:
- 在使用 ISA 编号时,在处理邮件时为邮件属性打开了邮件跟踪,并且
- 如果 ISA 编号在已发布的模式中得到提升(我猜是这样,如果您使用的是开箱即用的 EDI 东西)
...然后您可以使用管理控制台查找具有该架构并基于架构中的特定字段(例如,EDI.ISA08
或EDI.ISA06
)的跟踪消息。当然,如果您通过 BizTalk 配置将 ISA# 映射到特定方,那么您只需要搜索 Tracked Message Events,其中 Party Name 等于您为该 ISA# 配置的名称。
还有内置的 EDI 跟踪(参见http://msdn.microsoft.com/en-us/library/bb226464(v=bts.10).aspx),有自己的报告,但我不熟悉足以说明它是否会为您提供所需的一切。
否则,您将需要查看设置 BAM 以保存所需的 ISA 信息。
如果您进行 EDI 接收,这些字段在 Biztalk 消息中可用。msgIn(EDI.ISASegment) 包含所有 ISA 段。然后你可以在控制号上做子串,然后把它放在你的传出文件名中:
ctrlnum (变量) = msgIn(EDI.ISA13) newfilename = FILE.ReceivedFileName + ctrlnum ;
这样,每个控制编号都会显示在您的文件名中,您甚至不需要打开文件或检查跟踪的消息。