保留平面文件组装器管道组件中的分隔符
如果在经过使用平面文件组装器的自定义管道的消息中缺少某些记录,则根据输入文件中缺少记录的位置,这些记录的分隔符不一定出现在平面文件输出中。
若要确保该平面文件保留某些分隔符,您可以使用映射和自定义脚本,确保在特定输入记录在消息中不存在时创建一条“空”记录。 为此,您必须确保平面文件组装器的文档架构中可能的空节点设置了如下属性:
属性 | 设置 |
---|---|
为空数据保留分隔符 | 是 |
禁止尾随分隔符 | 否 |
生成空节点(对根节点进行这一设置) | True |
创建将创建“空”记录的映射
向 BizTalk 项目添加新映射。
将平面文件组装器使用的文档架构指定为映射源和映射目标架构。
将不为空的源字段映射到相应的目标字段。
对于可能为空的那些字段,使用自定义脚本来检查源字段是否为空并返回空字符串(而非 Nil)。 使用如下脚本:
public string ValOrEmpty(string val) { return (val.Length > 0) ? val : ""; }
注意
您必须创建对于您映射的每个可能的空字段都具有唯一函数名的脚本。 例如,如果有三个字段可能为空,则可能具有名为
ValOrEmpty1
、、ValOrEmpty2
的ValOrEmpty3
函数。使用 BizTalk Server 管理控制台,使用自定义管道和平面文件汇编程序组件配置发送端口,以将映射用作出站映射。