实现BizTalk的扩展功能
在处理BizTalk中的EDI(电子数据交换)时,我们常常会遇到各种需求,比如处理不符合标准的EDI文档、设置新的合作伙伴和协议、控制发送端口、进行批处理以及业务活动监控等。下面将详细介绍如何实现这些扩展功能。
1. 基本操作与上下文检查
在BizTalk的Party部分发生变化时,需要进行以下操作:
1. 重启主机实例(Host Instance)。
2. 通过BizTalk发送一个EDIFACT订单,确保发送端口处于停止状态。
3. 检查上下文(Context),此时协议名称(AgreementName)、发送方名称(SenderPartyName)和接收方名称(ReceiverPartyName)应该已填充正确的数据,这表明消息接收时各方已被识别。
4. 再次启动发送端口。
2. 更改Schema
在处理EDI时,交易伙伴经常会发送不符合100%标准的EDI文档。默认情况下,BizTalk中的所有Schema仅允许符合标准的EDI文档通过EDIDisassembler管道组件并转换为XML。
例如,在DTM(DateTime)段中,发送方发送代码70而不是标准的代码137,这是不符合联合国规范的(规范可参考 http://www.unece.org/trade/untdid/d96a/uncl/uncl2005.htm)。我们可以进行如下测试:
1. 复制EDIFACT文档,将DTM+137更改为DTM+70。
2. 通过BizTalk运行该文档,并检查事件日志。此时事件查看器中应该会出现类似的错误。
如果要允许合作伙伴M